C語言 指標小結(2)

2021-10-03 04:39:15 字數 992 閱讀 4254

6、返回指標值的函式

int main()

,}; float *p;

p = search(score,k);

printf("%d",*p);

}float *search(float(*pointer)[4],int n)

7、指標陣列

比較適合用來指向若干個字串,比如儲存名字,用二維陣列的話會因為不知名字長度而浪費空間

int *p[4];     //因為比*優先順序高,所以p[4]先結合,陣列是指標型別
8、指向指標的指標

char **p;     //相當於char *(*p)
(*p)表示p是指標變數,char*表示p是指向char*型的資料

int main()

; int *num[5]=;

int **p;

p = num;

printf("%d",**p);

}

9、指標與動態儲存區

動態儲存區是乙個稱為棧的區域,c允許建立記憶體動態分配區域,放一些臨時資料,這些資料不需定義,隨時開闢,隨時釋放,稱為堆(heap)區,由於未宣告他們為變數或陣列,只能通過指標來引用

malloc(100);     //開闢100位元組的空間,函式值為第乙個位元組的位址若未能成功,返回空指標null

p1=malloc(2*sizeof(int));

p = calloc(50,4);//開闢50*4個位元組空間

free(p); //釋放p指向的空間

10、void指標指向「空型別」

int a=3;

void *p;

p = &a;

printf("%d",*p);

上面是錯的,p只得到a的純位址,不指向a

c語言指標實驗心得與小結 C語言指標小結

最近發現自己c語言基礎還是很薄弱,去廣圖借了本 c指標原理揭秘 基於底層實現機制 深入學下指標大家想必都在windows中使用過ping 127.0.0.1 t,其中這些引數怎麼來的呢?看下面 include include int main int argc,char ar 我們平時直接就int ...

C語言指標使用小結

小結下自己對c語言的指標使用的理解。1,呼叫函式實現指標的申請與釋放。在開發中需要重複使用某個指標型別,為此專門寫了一組處理該型別的函式,最基礎就是該指標型別的申請與釋放。常見的錯誤是通過傳入乙個一級指標來實現指標的申請或釋放。測試用的資料型別 typedef struct mystruct mys...

c語言指標問題小結

最近使用指標的時候遇到了一些問題,在這裡做乙個簡單的總結,加深下對指標的認識。陣列和指標大部分情況下可以互換使用,但是有些時候卻是必須得區別對待,否則一不小心就會出錯。比如下面四個test例子,test1是對的,test2是錯的,指標指向乙個位址的情況,因為getuartdata 返回乙個指標位址,...