不廢話,請看代碼演示如下:
注意使用的操作系統的位數,不同位數的操作系統,結果不一樣!
我是用的是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下示例代碼截圖如下: