C++: 指針與解指針引用


C++: 指針基礎

指針 = 地址;

#include <iostream>
using namespace std;
int main() {
	int a = 10;
	
	int* p; //聲明一個指針變量p
	p = &a; //取a的地址給p 或 指針p指向a的地址
    //int* p = &a; 指針p指向a的地址,與上面兩行等價。
	cout << "Address = " << &a << endl ;
	cout << "Address = " << p << endl;
	system("pause");
	return 0;
}

在這里插入圖片描述

解引用 *p,重新賦值給地址指向的內容。

通過解引用的方式來找到指針指向的內存
指針前加 * 代表解引用,找到指針指向的內存中的數據。

🎈注意:這里的*p與 int* p是不一樣的,前者是解引用用於重新賦值給地址指向的內容,后者是聲明一個指針變量p。

	//接上面的代碼
	*p = 100;
	cout << "Address = " << a << endl;
	cout << "Address = " << *p << endl;
	//通過解引用我們成功改變了指針指向的內容的值。

在這里插入圖片描述
🎈注意:指針占用的字節空間跟隨系統變化

32位操作系統下指針占用4個字節的空間
64位操作系統下指針占用8個字節的空間
#include <iostream>
using namespace std;

int main() {
	
	int a = 10;
	int* p = &a;
	
	cout << " int*所占用的字節" << sizeof(p) << endl;

	system("pause");
	return 0;
}

在這里插入圖片描述在這里插入圖片描述
指針相關章節可參考C語言。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM