【C語言】指針和引用的區別

指針和引用的區別

    1.指針是一個實體,而引用是一個別名;在彙編上,引用的底層是以指針的方式實現的,定義一個引用變量,相當於就是定義了一個指針,然後把引用內存的地址寫到這個指針裏面,當通過引用變量修改它所引用的內存時,它先訪問了指針裏面的地址,然後在這個地址的內存裏面對值進行修改

    2.指針可以不初始化,通過賦值可以指向任意同類型的內存;但是引用必須初始化,而且引用一經引用一塊內存,再也不能引用其它內存了,即引用不能被改變

    3.在進行 sizeof 操作時, sizeof 指針在 32 位系統下永遠是 4 個字節,而 sizeof 引用計算的 是它所引用內存的大小

    4.引用是內存單元的別名,不是數值的別名。如int &a=10;//error,底層是指向10的地址,引用不能引用不能取地址的數據

    5.引用只能使用引用變量所引用的數據,例如b是a的別名,b只能使用a的數據

   

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章