1. 程式人生 > >C語言基礎 --指標

C語言基礎 --指標

大一時學過資料結構,感覺掌握的不是很好,決定在這個寒假補補。

指標

& 取地址操作

* 去引用操作

下面貼段程式碼:

#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));
}
執行結果: