在64位系统下,指向int型的指针占的内存空间多大?
Posted Bruce
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在64位系统下,指向int型的指针占的内存空间多大?相关的知识,希望对你有一定的参考价值。
不废话,请看代码演示如下:
注意使用的操作系统的位数,不同位数的操作系统,结果不一样!
我是用的是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下示例代码截图如下:
以上是关于在64位系统下,指向int型的指针占的内存空间多大?的主要内容,如果未能解决你的问题,请参考以下文章