C語言基礎 --指標
阿新 • • 發佈:2019-01-10
大一時學過資料結構,感覺掌握的不是很好,決定在這個寒假補補。
指標
& 取地址操作
* 去引用操作
下面貼段程式碼:
執行結果:#include<stdio.h> int main(){ double i=1.0; double i1=2.0; double *p; //32位執行平臺下指標本身所佔的空間是4個位元組,用來存放指向資料的地址 printf("size of p is %d\n",sizeof(p)); p=&i; printf("i...\n"); //指標本身的地址 printf("&p=%x\n",&p); //指標指向的地址 printf("p=%x\n",p); printf("&i=%x\n",&i); //輸出資料 printf("*p=%lf\n",*p); printf("i=%lf\n",i); p=&i1; printf("i1...\n"); //更改指向後指標本身的地址不變 printf("&p=%x\n",&p); //指標指向的地址改變了,即指標裡的資料改變了 printf("p=%x\n",p); //輸出資料 printf("*p=%lf\n",*p); printf("i1=%lf\n",i1); //指標可以想加減 //這裡計算一下i和i1兩個變數的地址隔了幾個單位,這裡的單位根據資料型別而定 printf("%d\n",&i-p); //p的大小是4,而p指向的變數i1的大小是8,所以*p的大小是8 printf("size of p is %d\n",sizeof(p)); printf("size of *p is %d\n",sizeof(*p)); }