c語言學習隨筆之指標(一)

2022-06-05 20:54:10 字數 955 閱讀 2463

c語言的學習難點在於指標,但是指標也是c語言的精華所在,它可以間接的訪問和修改其他物件的值。下面是我對指標學習的乙個總結(有錯誤或者理解不當的地方希望高手指正)。

1 指標也是一種變數

明確指標和指標所指向的記憶體空間是兩個不同的變數。

2*p操作記憶體

int a = 1,b=2,c=3;

int *p;//*緊隨著型別名出現,這是是宣告乙個變數,p是乙個指標變數

p = &a;

*p = c;//出現在表示式的左邊,相當於給p所指向的記憶體賦值。

b = *p;//出現在表示式的右邊。相當於向p指向的記憶體裡面去取值。

printf_s("c:%d ,b:%d ,*p:%d",c,b,*p );

system("pause");

輸出結果:c:10,b:10,*p:10

3 指標變數和它指向的記憶體塊是兩個不同的概念

含義1 給p賦值p=0x1111; 只會改變指標變數值,不會改變所指的內容;p = p +1; //p++

含義2 給*p賦值*p='a'; 不會改變指標變數的值,只會改變所指的記憶體塊的值 

4 指標是一種資料型別,是指它所指向的記憶體空間的資料型別

含義1:指標步長(p++),根據所致記憶體空間的資料型別來確定

p++=(unsigned char )p+sizeof(a);

結論:指標的步長,根據所指記憶體空間型別來定

指標的資料型別:指的是它所指向記憶體空間的資料型別。指標具有步長,其步長也是根據其指向的記憶體空間的資料型別來決定的。、

5 錯誤使用的指標

int*p=null;//空型別不能修改

*p=2;

int*p=」sad」;//常量不能修改

*p=2;

C語言學習隨筆

學習c語言過程中的一些記錄,供以後查閱使用。11月25日學習記錄 1.include指令和標頭檔案 inlcude 1 include的作用相當於把stdio.件中的所有內容都輸入該行所在的位置,實際上,這是一種 拷貝 貼上 的操作。2 include是一條c預處理指令,通常,c編譯器會在編譯前對源...

C語言學習之指標詳解

要了解指標,多多少少會出現一些比較複雜的型別,所以我先介紹一下如何完全理解乙個複雜型別,要理解複雜型別其實很簡單,乙個型別裡會出現很多運算子,他們也像普通的表示式一樣,有優先順序,其優先順序和運算優先順序一樣,所以我總結了一下其原則 從變數名處起,根據運算子優先順序結合,一步一步分析.下面讓我們先從...

C語言學習之指標高階

函 數 一 引數 當函式想使用主函式中的變數時,則 將主函式中的變數作為引數傳遞給函 數內部 返回值 當主函式想使用函式中的變數或者 資料時,則將函式內部的資料或變數 作為返回值返回給主函式使用 1.函式的傳參 1.複製傳遞 實參將值複製乙份並給相應的形參 對形參的操作和實參沒有任何關係 2.位址傳...