不废话,请看代码演示如下:
注意使用的操作系统的位数,不同位数的操作系统,结果不一样!
我是用的是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下示例代码截图如下: