struct COW {
int num;
int MakeMilk;
};
COW* cow = NULL;
cow = (COW* )malloc(sizeof(COW)*n);
sizeof(COW)= 8 :two Int
sizeof(cow) = 4 :pointer size, because cow is the dynamic array, it can not be know how many memberships by size operation
sizeof(cow[0]) = 8 : struct size
sizeof(*cow) = 8 : cow is the pointer pointed at the frist address. *cow is the structurefirstCOW
-------------------------------------------------------------------------------------------------------------------------------------
const char* word[6] = {"Red Alder", "Ash", "Aspen", "Basswood", "Yellow Brich", "Red Alder"};
printf("%d\n", sizeof(word)); 24 = 6*4 , where 4 is the size of char*,because "word" is a static array
printf("%d\n", sizeof(*word)); 4 *word = word[0] it is the pointer size (char*)
printf("%d\n", sizeof(word[0]));4
printf("%d\n", sizeof(*word[0]));1 *word[0] = word[0][0]= 'R' a character is 1
printf("%d\n", sizeof(word[0][0])); 1 word[0][0] = R
printf("%d\n", sizeof(&word[0][0])); 4 &word[0][0] = word[0]
printf("%d\n", sizeof(&word[0][1])); 4 &word[0][1] = word[0]+1 cout<<&word[0][1] == "ed Alder"