#include "stdio.h" #include "stdlib.h" //数据类型的本质: 固定大小内存块的别名. void main() { int a; // 告诉编译器分配4个字节的内存. int b[10]; // 告诉编译器分配4*10个字节的内存. printf( "b:%d, b+1:%d, &b:%d, &b+1:%d \n", b, b + 1, &b, &b + 1 ); printf( "sizeof(a):%d , sizeof(b):%d \n", sizeof( a ), sizeof( b ) ); // 上2句打印结果: // b:4128420, b + 1 : 4128424, &b : 4128420, &b + 1 : 4128460 // sizeof( a ) : 4, sizeof( b ) : 40 // 分析: // b+1 <> &b+1 ?? 是因为b和&b的数据类型不同. // b : 代表的是数组首个元素的地址. // &b: 代表的是整个数组的地址. system( "pause" ); }
致读者:本人自学编程,知识薄弱,实践经验不够,博客文章难免有错误之处,希望读者能积极指正,感激不尽。
若您有更精妙的解决方案或者对文中有疑问,欢迎留言或联系我讨论问题。