1
指針的值,我有這樣的代碼:未料位於C
int *x[2];
int var0 = 10;
int var1 = 20;
int var2 = 30;
x[0] = &var0;
x[1] = &var1;
x[2] = &var2;
cout << "var0 is equal to: " << *x[0] << endl;
var0 is equal to: 32767
我很期待:
- 我初始化指針數組3項
- 將一些值分配給3個變量
- Ass這個變量的指定地址指針數組項目
- 現在我期待:
*x[0] = 10, *x[1] = 20, *x[2] = 30
,但你可以從例子*x[0] == 32767
看到。爲什麼?
'X [2]'不存在;你剛剛通過寫入**來調用**未定義的行爲**。 –
@OliCharlesworth:它最有可能存在,雖然只是作爲分配給程序堆棧的內存形式的佛陀轉世:) – 2013-05-31 21:21:46