`

sizeof

    博客分类:
  • C++
 
阅读更多

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"

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics