C语言中“指针”和“指针变量”的区别是什么
生活随笔
收集整理的這篇文章主要介紹了
C语言中“指针”和“指针变量”的区别是什么
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
比較嚴格的說法是這樣的:
系統為每一個內存單元分配一個地址值,C/C++把這個地址值稱為“指針”。如有int i=5;,存放變量i的內存單元的編號(地址)&i被稱為指針。
“指針變量”則是存放前述“地址值”的變量,也可以表述為,“指針變量”是存放變量所占內存空間“首地址”的變量(因為一個變量通常要占用連續的多個字節空間)。比如在int i=5;后有一句int *p=&i;,就把i的指針&i賦給了int *型指針變量p,也就是說p中存入著&i。所以說指針變量是存放指針的變量。
有一個事實值得注意,那就是有不少資料和教科書并沒有如上區分,而是認為“指針是指針變量的簡稱”,如對int *p=&i;的解釋是:聲明一個int *型指針p,并用變量i的地址初始化;而嚴格說應該是聲明一個int *型指針變量p才對。所以有時看書要根據上下文理解實質,而不能過于拘泥于文字表述。
系統為每一個內存單元分配一個地址值,C/C++把這個地址值稱為“指針”。如有int i=5;,存放變量i的內存單元的編號(地址)&i被稱為指針。
“指針變量”則是存放前述“地址值”的變量,也可以表述為,“指針變量”是存放變量所占內存空間“首地址”的變量(因為一個變量通常要占用連續的多個字節空間)。比如在int i=5;后有一句int *p=&i;,就把i的指針&i賦給了int *型指針變量p,也就是說p中存入著&i。所以說指針變量是存放指針的變量。
有一個事實值得注意,那就是有不少資料和教科書并沒有如上區分,而是認為“指針是指針變量的簡稱”,如對int *p=&i;的解釋是:聲明一個int *型指針p,并用變量i的地址初始化;而嚴格說應該是聲明一個int *型指針變量p才對。所以有時看書要根據上下文理解實質,而不能過于拘泥于文字表述。
總結
以上是生活随笔為你收集整理的C语言中“指针”和“指针变量”的区别是什么的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ 数组在内存中的分配
- 下一篇: sps及pps在解码器内传递过程