您的位置:首页 > 其它

在64位系统下,指向int型的指针占的内存空间多大?

2018-01-11 11:06 232 查看
不废话,请看代码演示如下:

注意使用的操作系统的位数,不同位数的操作系统,结果不一样!

我是用的是64位的操作系统!

linux下示例代码如下:

#include <stdio.h>

int main()
{
int b = 1;
int *a;
a = &b;

printf("b = %d\n", b);                      //int型变量b的值。
printf("sizeof(b) = %ld\n", sizeof(b));     //int型变量b的值所占用内存空间的大小,单位是字节。

printf("&b = %p\n", &b);                    //int型变量b的地址编号。
printf("sizeof(&b) = %ld\n", sizeof(&b));   //int型变量b的地址编号所占用内存空间的大小,单位是字节。

printf("--------------------\n");

printf("a = %p\n", a);                      //int型指针变量a(int *),指向int型变量b的地址编号。
printf("sizeof(a) = %ld\n", sizeof(a));     //int型指针变量a(int *),指向int型变量b的地址编号,该地址编号所占用内存空间的大小,单位是字节。

printf("*a = %d\n", *a);                    //int型指针变量的指向值。
printf("sizeof(a) = %ld\n", sizeof(*a));    //int型指针变量的指向值所占用内存空间的大小,单位是字节。

printf("&a = %p\n", &a);                    //int型指针变量的地址编号。
printf("sizeof(&a) = %ld\n", sizeof(&a));   //int型指针变量的地址编号所占用内存空间的大小,单位是字节。

//int型指针变量是一级指针,一级指针的地址编号则是二级指针。

return 0;
}


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下示例代码截图如下:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐