#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
", b, b + 1, &b, &b + 1 );
printf( "sizeof(a):%d , sizeof(b):%d
", 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" );
}
致读者:本人自学编程,知识薄弱,实践经验不够,博客文章难免有错误之处,希望读者能积极指正,感激不尽。
若您有更精妙的解决方案或者对文中有疑问,欢迎留言或联系我讨论问题。