首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> 關於VC++

C++ 指標與參考深度解析 (二):指標與參考的賦值、解參考與操作

     編輯:關於VC++

16.4 指標與參考的賦值

指標賦值:需用 "address-of" 運算子

指標變數必須被賦予記憶體位址,否則編譯器報錯。使用 & 運算子獲取位址:

int x;
int* px = &x;  // px 儲存 x 的位址,稱 "px 指向 x"

宣告指標時,型別必須與目標變數一致。

參考賦值:直接綁定,無需額外運算子

這是指標與參考的關鍵差異。參考宣告時直接綁定目標變數,不使用 & 運算子 (此處 & 為型別修飾符):

int x;
int& rx = x;  // rx 成為 x 的別名,"參考 x"

參考底層同樣儲存位址,但語法層面隱藏了位址操作,使用更直觀安全。

實戰演示:觀察指標與參考行為

#include <iostream>
int main() {
    int someNumber = 12345;
    int* ptrSomeNumber = &someNumber;

    std::cout << "someNumber = " << someNumber << std::endl;
    std::cout << "ptrSomeNumber (位址) = " << ptrSomeNumber << std::endl; // 十六進位位址

    // 解參考 * 運算子:存取指標指向的值
    std::cout << "ptrSomeNumber 指向的值 = " << *ptrSomeNumber << std::endl; // 12345

    // 透過指標修改值
    *ptrSomeNumber = 999;
    std::cout << "修改後 someNumber = " << someNumber << std::endl; // 999
    return 0;
}

指標與參考能力速查表

操作指標參考
指向/綁定記憶體位址ptr = &var;ref = var; (宣告時綁定)
複製給同類型變數✅ ptr2 = ptr1;❌ 參考不可重綁定
修改目標值*ptr = val;ref = val;
指標算術 (遞增/遞減位址)✅ ptr++;❌ 不支援
傳遞給函數✅ 指標傳遞✅ 參考傳遞 (避免拷貝)
可為空/無效狀態✅ nullptr❌ 必須綁定有效物件

下一篇將深入探討空指標判斷、動態記憶體配置 (new/delete) 及記憶體管理最佳實踐。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved