c語言難點 指標篇

2021-10-17 15:26:48 字數 655 閱讀 8685

**)*相信有很多小夥伴們都入過坑,其實吧,只要多看幾遍,大家都應該能理解,但是呢?我在這裡直接給你們省去了多看幾遍的步驟,如果覺得我寫的不錯的話,點讚收藏一下,如果能給我一點鼓勵的話… 算了,我會害羞的,哈哈!

廢話不多說,指標呢其實就是乙個資料型別,你把它跟其它型別一樣理解就行了,那麼它所定義的變數跟一般的int,char型別有什麼不同呢?

int a = 10 ,b=20;

int *p=null;

p=&a;

printf("%d",*p);

為什麼int *p=null呢,答案就是讓它懸空,不亂指向乙個位址,當指標被定義後,你要是不讓它懸空,系統可能會隨機指向乙個位址,從而導致結果跟預期的不一致。

為什麼p=&a呢,因為要讓它指向變數a,指標變數p存放的是位址,而變數a存放的則是值10,所以我們讓它指向a的時候就要用乙個取位址符(&)將整形變數a的位址取出來

為啥輸出要用p而不是p,&與 * 這兩個符號相逆,乙個是取位址,乙個是取內容,這時候你要是輸出p的值,就不能直接將p輸出了,因為p是位址,我們要輸出的是這個位址裡的內容,也就是這個位址裡的值,所以我們要用到星號(),它的作用是將位址裡的內容輸出,上面**p的輸出值就為10。只要理解了他們的關係,這就很簡單,當初我學這個的時候也**的死去活來的,這就是我的理解,好好努力,讓我們一起加油!

C語言難點專題 陣列和指標

陣列和指標是c中常見的資料結構,和基本型別不同,這兩個資料結構可以表示多個資料的集合。在理解和區分這兩個概念前,先了解一下記憶體模型。記憶體就相當於街道兩邊的房子,記憶體位址,就是房子的門牌號。記憶體和房子一樣,可以存放需要的資料。現在問題就來了,怎麼描述一排排的房子 記憶體資料 呢?這裡有兩個方案...

C語言結構體與指標難點

include include include int main stu1 pstu stu1 讀取結構體成員的值 printf s的學號是 d,年齡是 d,在 c組,今年的成績是 1f!n pstu name,pstu num,pstu age,pstu group,pstu score prin...

C語言篇 指標(一)

指標就是位址,位址就是指標,指標變數就是存放記憶體單元編號的變數。1 基本型別的指標 2 指標和陣列 3 指標和函式 4 指標和結構體 5 多級指標 1 表示一些複雜的資料結構 2 快速的傳遞資料 3 使函式返回乙個以上的值 4 能直接訪問硬體 5 能夠方便的處理字串 6 是理解物件導向語言中引用的...