1. 程式人生 > 遊戲攻略 >《艾爾登法環》為什麼叫老頭環 老頭環稱呼由來

《艾爾登法環》為什麼叫老頭環 老頭環稱呼由來

變數的記憶體地址(變數放在哪裡)
每一個變數都有一個記憶體位置,每一個記憶體位置都定義了可使用連字號(&)運算子訪問的地址,它表示了在記憶體中的一個地址。請看下面的例項,它將輸出定義的變數地址:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int a;
	a=19;
	cout<<a<<endl;//變數a的值 
	cout<<&a<<endl;//變數a的地址在記憶體的位置 
	return 0;
}

執行結果

19
0x22fedc   //變數a的首地址

在計算機中,記憶體空間是按位元組進行編址,即每8個位都有一個地址。不同型別的資料佔用的記憶體大小不一樣,如int佔4位元組,上例中a佔用從0x22ffedc開始的4個位元組。
記憶體地址是16進位制的。

什麼是指標?
指標是一個變數,其值為另一個變數的地址,即,記憶體位置的直接地址。就像其他變數或常量一樣,您必須在使用指標儲存其他變數地址之前,對其進行宣告。指標變數宣告的一般形式為:
type *var-name;
在這裡,type 是指標的基型別,它必須是一個有效的 C++ 資料型別,var-name 是指標變數的名稱。用來宣告指標的星號 * 與乘法中使用的星號是相同的。但是,在這個語句中,星號是用來指定一個變數是指標。以下是有效的指標宣告:
int *ip; /* 一個整型的指標 */
double *dp; /* 一個 double 型的指標 */
float *fp; /* 一個浮點型的指標 */
char *ch; /* 一個字元型的指標 */
所有指標的值的實際資料型別,不管是整型、浮點型、字元型,還是其他的資料型別,都是一樣的,都是一個代表記憶體地址的長的十六進位制數。不同資料型別的指標之間唯一的不同是,指標所指向的變數或常量的資料型別不同。

C++ 中使用指標
使用指標時會頻繁進行以下幾個操作:定義一個指標變數、把變數地址賦值給指標、訪問指標變數中可用地址的值。這些是通過使用一元運算子 * 來返回位於運算元所指定地址的變數的值。下面的例項涉及到了這些操作:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int a;
	int * pa; 
	a=19;
	cout<<a<<endl;//變數a的值 
	cout<<&a<<endl;//變數a的地址在記憶體的位置 
	pa=&a;//把變數a的地址給pa
	cout<<pa<<endl;
	cout<<*pa<<endl; 
	return 0;
}

執行結果

19
0x22fed8
0x22fed8
19
注意pa本身也有記憶體地址

#include<bits/stdc++.h>
using namespace std;
int main()
{
	int a;
	int * pa; 
	a=19;
	cout<<a<<endl;//變數a的值 
	cout<<&a<<endl;//變數a的地址在記憶體的位置 
	pa=&a;//把變數a的地址給pa
	cout<<pa<<endl;
	cout<<*pa<<endl;
	cout<<&pa<<endl; //pa的記憶體地址
	return 0;
}

19

0x22fedc
0x22fedc
19
0x22fed8//pa的記憶體地址