A. 論述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。對於數組,指針是指向數組的首地址。
B. C語言的指針有什麼優缺點
1、指針的優點
是標識一塊內存。電腦內存上的每一個位元組都具有一個編號,稱為地址(可以簡單理解為指針),任何讀寫內存的指令都必須攜帶地址信息,否則電腦不知道讀寫那塊內存。
不管程序是用什麼語言寫的,要運行數據和代碼必須駐留內存,CPU要執行指令必須有一個「指針」程序計數器指向內存的代碼塊,如果某個指令要操作內存數據,該指令必須攜帶額外的地址信息。
2、指針的缺點
指針可以操作任何東西,所以指針很靈活、很強大,但也引入了復雜性。
(2)c語言指針好處擴展閱讀
1、指針利用地址,它的值直接指向(pointsto)存在電腦存儲器中另一個地方的值。由於通過地址能找到所需的變數單元,可以說,地址指向該變數單元。
2、輸出一串字元時,只需要知道它的第一個字元的地址,就可以將這個字元串輸出,而第一個字元的地址,可以用指針儲存。所以有n個字元串時,就可以用n個指針來儲存。
3、為了保存一個數據在內存中的地址,就需要指針變數。因此指針是程序數據在內存中的地址,而指針變數是用來保存這些地址的變數。
C. c語言中用指針的好處有哪些
指針非常的好,它把相同的事物歸類,然後把事物做出標記,避免給相同的特點做變數。比如說你和你同學,你們兩個人都有心臟、肝、肺等器官,如果命名心臟1、心臟2這樣比較麻煩,這時如果用上指針,指向你說心臟時說的是你的心臟,指向你同學時說的是你同學的心臟,如果人非常的多,你不用指針,那麼命名心臟1、2、3、4、5.。。。那是非常的多的不必要的變數。我現在運用PLC和WINCC連接時有的時候就用指針。節省了通訊時間,省略了很多的變數。
D. c語言指針有什麼用
1、指針的使用使得不同區域的代碼可以輕易的共享內存數據;2、C語言中一些復雜的數據結構往往需要使用指針來構建;3、C語言是傳值調用,而有些操作傳值調用是無法完成的,但是這種操作可以由指針來完成,而且並不違背傳值調用。