Does anyone think that it's weird that structures are initialized null?

so in C or even C++ I would have to do something like this.

struct foo{
 int a;
 int b; 
} dfoo;

rather than 

struct foo{
   int a = 3;
   int b = 4;
}dfoo ;

I would like to do something like this at times and it's annoying that I cannot.
I think it would be cool to do 

void printsomething(){printf("this worked!");}

struct items{
   void (*somefunct)() = &printsomething;

}p_items // and not have to point to this.

Then I could do something like p_items.somefunct() and call that function.
Is there a language that allows for this kind of idea?