當前位置:首頁 » 編程語言 » c語言指針與c指針

c語言指針與c指針

發布時間: 2025-03-08 20:02:01

『壹』 c語言里的指針是什麼意思,起什麼作用

1:指針是一個地址,指向的是個類型:
我們知道,c語言中的類型有int,char,bool(這個不常用),一般我們使用int,char就可以滿足一般的類型需求的,如果對於變數的長度過大,就是用long ,float,double,關於各個類型使用的的長度問題,可以使用sizeof(int)或者sizeof(long)來查看各個類型,在系統中的小。
而指針就是一個8個位元組(64系統)。
2:指針指向的是地址,地址指向的是內容:
我們需要一個變數,來存儲地址,這個變數的值是地址,但是我們可以通過修改變數的值,來不斷的改變地址,但是,我們如果需要改變該個地址的值的話,就需要,對地址的值進行修改,而不改變地址。

int a = 10;
int *p ;
p = &a;

*p =11;

a=?
這里我們看到,p 是一個變數,我們使用p來存儲變數a的地址,這是,我們使用*p對於這個變數進行賦值,那麼a的值最後,是多少呢,結果是11,因為我們使用*p賦值,就相當於a=11,賦值效果一樣的。

3:指針的指針,是面對於指針的變數:
我們說,指針的指針的時候,就有點不清楚了,到底怎麼區分指針和指針的指針呢。

char *p;
char **pr;
pr = &p;

我們這樣看就清楚了一點,char *(*pr); *pr是一個存儲的值為指針的變數,pr就是存儲上個變數地址的變數。整合起來就是,pr是一個存儲的值為指針的地址的變數。

這樣,我們就基本,對於指針有一個直接的了解了。

『貳』 C語言中對指針的理解與舉例子

指針是C語言中一個關鍵概念,理解起來可能較為抽象。首先,指針本質上也是一個變數,具備普通變數的特性。當你聲明一個int類型的變數a時,它占據一定的內存空間,通常為四個位元組大小。你可以給a賦值,例如1、2、3等整數。同樣地,指針也占據內存空間,但其存儲的內容是地址,即另一個變數或數據結構的內存位置。

為了更形象地理解,我們可以將指針比喻為快遞員。快遞員有自己的家,但日常工作中很少回到家中,更多是在取件和送件。他們掌握許多地址信息,根據這些地址去相應的地方取件或送件。在C語言中,指針可以用來訪問和修改其他變數的值,就像快遞員根據地址拿到或送去相應的物品。

具體到C語言中,普通指針的使用十分簡單。例如,聲明一個字元指針p,並將其指向變數a的地址,這樣就可以通過p來訪問a的值。這與普通變數的使用方式類似,只是多了*號作為指針運算符。

在深入理解指針時,可能會遇到兩個容易混淆的概念:指針函數和函數指針。指針函數是一個指向函數的指針,具有普通指針的特性,可以指向其他函數。而函數指針則是一個函數,具有普通函數的特性,可以接受參數並返回結果。不過,函數指針的返回值是一個指針。

因此,理解指針時,可以將它與你已熟悉的概念聯系起來。例如,當你定義一個指針時,可以將其與普通變數進行類比;當使用指針函數時,則可以考慮普通函數的操作方式。這並不復雜,只是將其視為一種新的操作方式。

總之,指針是C語言中強大的工具,理解其本質和用法對於編寫高效且靈活的程序至關重要。通過類比和類推,可以更容易地掌握指針的使用技巧,從而在編程中得心應手。

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:640
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:368
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:86
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:310
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:794
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:346
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:213
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:817
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:367
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:594