代码如下:
// text.cpp: 定义控制台应用程序的入口点。 // #include "stdafx.h" int main() { int a; //告诉编译器,分配 4个字节 int b[10]; //告诉编译器,分配 4 * 10 个字节 /*类型的本质:固定内存块大小别名 可以通过 sizeof()测试 */ printf("sizeof(a) = %d, sizeof(b) = %d\n", sizeof(a), sizeof(b)); //打印地址 //数组名字,数组首元素地址,数组首地址 printf("b:%d, &b:%d\n", b, &b); //b, &b的数组类型不一样 //b, 数组首元素地址, 一个元素4字节,+1, +4(数组名字代表数组元素的首地址) //&b, 整个数组的首地址,一个数组4*10 = 40字节,+1, +40 printf("b+1:%d, &b+1:%d\n", b + 1, &b + 1); //指针类型长度,32位程序, 长度4 // 64位程序, 长度8 char ***********************p = NULL; int *q = NULL; printf("%d, %d\n", sizeof(p), sizeof(q)); printf("\n"); system("pause"); return 0; }
运行结果: