指针和引用的区别_浅析指针与引用
生活随笔
收集整理的這篇文章主要介紹了
指针和引用的区别_浅析指针与引用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
關注“杜明c”,每天進步一點點!
已經時隔一個多月沒有發文章了,主要是太忙了,絕不是偷懶今天給大家聊一聊指針和引用的不同之處在哪里。
摘要指針的使用
引用的使用
二者的區別
后話
在C語言中,我們怎么樣在子函數中交換兩個數,很簡單的一個函數,大家第一時間總是想到它。
void exchange(int* a, int* b){ int c; c = *a; *a = *b; *b = c;}我們在主函數中調用它,就可以完成數據交換。
int main(){ int a=1, b=2; exchange(&a, &b); printf("a=%d,b=%d", a, b); return 0;}----out----a=2,b=1引用的使用在中C++,對于指針的使用還有另一種替換方法,我們把這種方法稱為“引用”
注意,只有C++才能使用引用!
void exchange(int& a, int& b){ int c; c = a; a = b; b = c;}在主函數中調用它
int main(){ int a=1, b=2; exchange(a, b); printf("a=%d,b=%d", a, b); return 0;}----out----a=2,b=1再看一下引用的用法
int main(){ int a = 7; int& b =a; b = 2; printf("a=%d,b=%d",a,b); return 0;}----out----a=2,b=2二者的區別那么引用和指針有什么區別呢
指針本質上是數據的”地址“,引用本質上還是數據地址,但是因為用法不同,我們把它稱作數據的“別名”
指針能重復賦值,指向不同的對象,引用不能重復賦值。
指針可以使用多級,引用只能是一級。
總結一下,其實我們可以把引用當成一個常量的指針。
| 地址 | 別名 |
| 可重復賦值 | 不可重復賦值 |
| 多級指針 | 一級引用 |
你知道為什么main需要int作為返回值嗎,void行不行?
int main(){ return 0;}嚴格來說,main都應該使用int作為返回值,因為即使在當前環境下使用void沒有報錯,在另外環境或者編譯器中可能不能正常運行。
End
? ? 杜明c
專注C/C++
長按關注總結
以上是生活随笔為你收集整理的指针和引用的区别_浅析指针与引用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中科宇航产业化基地落成投产,力箭系列运载
- 下一篇: 小米米家保温杯 Ti 今日开售:纯钛杯身