不废话,请看代码演示如下:
注意使用的操作系统的位数,不同位数的操作系统,结果不一样!
我是用的是64位的操作系统!
linux下示例代码如下:
1 #include <stdio.h> 2 3 int main() 4 { 5 int b = 1; 6 int *a; 7 a = &b; 8 9 printf("b = %d\n", b); //int型变量b的值。 10 printf("sizeof(b) = %ld\n", sizeof(b)); //int型变量b的值所占用内存空间的大小,单位是字节。 11 12 printf("&b = %p\n", &b); //int型变量b的地址编号。 13 printf("sizeof(&b) = %ld\n", sizeof(&b)); //int型变量b的地址编号所占用内存空间的大小,单位是字节。 14 15 printf("--------------------\n"); 16 17 printf("a = %p\n", a); //int型指针变量a(int *),指向int型变量b的地址编号。 18 printf("sizeof(a) = %ld\n", sizeof(a)); //int型指针变量a(int *),指向int型变量b的地址编号,该地址编号所占用内存空间的大小,单位是字节。 19 20 printf("*a = %d\n", *a); //int型指针变量的指向值。 21 printf("sizeof(a) = %ld\n", sizeof(*a)); //int型指针变量的指向值所占用内存空间的大小,单位是字节。 22 23 printf("&a = %p\n", &a); //int型指针变量的地址编号。 24 printf("sizeof(&a) = %ld\n", sizeof(&a)); //int型指针变量的地址编号所占用内存空间的大小,单位是字节。 25 26 //int型指针变量是一级指针,一级指针的地址编号则是二级指针。 27 28 return 0; 29 }
b = 1 sizeof(b) = 4 &b = 0x7ffeb93f609c sizeof(&b) = 8 -------------------- a = 0x7ffeb93f609c sizeof(a) = 8 *a = 1 sizeof(a) = 4 &a = 0x7ffeb93f60a0 sizeof(&a) = 8
linux下示例代码截图如下:
我的GitHub地址: https://github.com/heizemingjun
我的博客园地址: http://www.cnblogs.com/chenmingjun
我的蚂蚁笔记博客地址: http://blog.leanote.com/chenmingjun
Copyright ©2018 黑泽明军
【转载文章务必保留出处和署名,谢谢!】