⑴ c語言指針的作用有哪些
指針的用途非常廣泛,比如如果你想通過函數改變一個變數的值,就得用指針而不能用值傳遞。還有在很多時候變數,特別是對象的數據量實在太大,程序員就會用指針來做形參,只需要傳遞一個地址就行,大大提高了效率。簡單地說指針就是指向變數和對象的地址。
⑵ 論述C語言中指針的概念和作用,並舉例說明
1、指針概念:變數的地址(計算機內存位元組的編號)叫做指針,存放變數地址的變數叫指針變
量,
簡言之,指針是用來存放地址的。
2、作用:指向這個變數或數組的首地址,是變數的間接引用方式。其值如果改變,變數的值或數組元素的值也會跟著改變。程序對變數的操作實際上是對變數所在的存儲空間讀取和寫入數據。方便對變數的操作。
舉例說明:
int
a=3;/*定義一個整型變數a,並賦初值3*/
int
*p;/*定義一個指針變數P*/
p=&a;/*讓p指向a的首地址,也就是a的地址*/
程序為a分配一個2個位元組的存儲單元,假如2個位元組的地址分別為(ABCD1和ABCD2,唯一),那麼p裡面放的值就是ABCD1,不是3。這時可通過p直接引用a,實際上*p=3。以後不管a存放在內存中的哪個地方,只用通過調用p就可以引用a。這時如果令*p=4,則最後的a值也為4。對於數組,指針是指向數組的首地址。
⑶ C語言指針到底有什麼用
指針,說白了就是儲存數據內存段的地址。打個比方說,你家的門牌號是306,那麼你家中回來一些客人,這些客人就相當是一些變數,而門牌號就說明了地址,如果張三在你家,另一個人要找到他,那麼此時我們只需要告訴那人306,就相當於你訪問一個變數時,曲線救國,不直接訪問變數的值,而去訪問變數的地址,這會帶來很多方便。由於c語言是一種比較低級的語言,所以包括了許多對硬體操作的部分,直接對內存進行操作會帶來很多方便。
⑷ C語言中指針的作用是什麼
指針指向地址,指針的特性就是在地址不變的情況下,可以很方便的修改所指向的內容x0dx0ax0dx0a最重要的應用有兩個,一是函數參數,二是函數指針x0dx0a函數參數:函數返回值只有一個,如果想回傳多個參數,則必須使用指針x0dx0a函數指針:典型應用就是回調函數(callback)
⑸ c語言的指針有什麼用
C語言指針實際上就是地址,地址相對於普通變數具有更靈活、訪問更便捷的特點,另外對於結構龐大的數據結構或者數組,指針指佔用4四節(32位指針),訪問更高效
⑹ 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語言指針有什麼用
1、指針的使用使得不同區域的代碼可以輕易的共享內存數據;2、C語言中一些復雜的數據結構往往需要使用指針來構建;3、C語言是傳值調用,而有些操作傳值調用是無法完成的,但是這種操作可以由指針來完成,而且並不違背傳值調用。
⑻ 指針的作用是什麼啊
第一,指針的使用使得不同區域的代碼可以輕易的共享內存數據。當然小夥伴們也可以通過數據的復制達到相同的效果,但是這樣往往效率不太好。因為諸如結構體等大型數據,佔用的位元組數多,復制很消耗性能。
但使用指針就可以很好的避免這個問題,因為任何類型的指針佔用的位元組數都是一樣的(根據平台不同,有4位元組或者8位元組或者其他可能)。
第二,指針使得一些復雜的鏈接性的數據結構的構建成為可能,比如鏈表,鏈式二叉樹等等。
第三,有些操作必須使用指針。如操作申請的堆內存。還有:C語言中的一切函數調用中,值傳遞都是「按值傳遞」的。如果要在函數中修改被傳遞過來的對象,就必須通過這個對象的指針來完成。
(8)c語言的指針什麼用的擴展閱讀
指針的表現形式是地址,核心是指向關系指針運算符「*」的作用是按照指向關系訪問所指向的對象.如果存在A指向B的指向關系,則A是B的地址,「*A」表示通過這個指向關系間接訪問B。
如果B的值也是一個指針,它指向C,則B是C的地址,「*B」表示間接訪問C如果C是整型、實型或者結構體等類型的變數或者是存放這些類型的數據的數組元素,則B(即C的地址)是普通的指針,稱為一級指針,用於存放一級指針的變數稱為一級指針變數。