最近使用指標的時候遇到了一些問題,在這裡做乙個簡單的總結,加深下對指標的認識。陣列和指標大部分情況下可以互換使用,但是有些時候卻是必須得區別對待,否則一不小心就會出錯。
比如下面四個test例子,test1是對的,test2是錯的,指標指向乙個位址的情況,因為getuartdata()返回乙個指標位址,而陣列初始化定義的時候,是已經明確指向了乙個記憶體位址的,所以無法將乙個新的指標位址賦給乙個陣列,只能是讓另乙個指標指向該位址。
char data[10];
char *getuartdata(void)
void test1(void)
void test2(void)
另乙個是給指標賦值的問題,如下面的test例子,test3是錯的,test4是對的,當定義乙個指標時,首先得賦予它為乙個空指標,如果需要給指標賦值,必須先初始化指標,讓它指向乙個特定的記憶體位址後,才可以給它賦值。
char data[10];
char *getuartdata(void)
void test3(void)
void test4(void)
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語言 指標小結(2)
6 返回指標值的函式 int main float p p search score,k printf d p float search float pointer 4 int n 7 指標陣列 比較適合用來指向若干個字串,比如儲存名字,用二維陣列的話會因為不知名字長度而浪費空間 int p 4 因...