對指針使用索引括號是否也對它進行解引用?爲什麼打印這個指針的第0個索引最終會打印兩個不同的東西?是否使用索引括號作爲指針取消引用?
#include <cstdlib>
#include <iostream>
#include <cstring>
using namespace std;
int *p;
void fn() {
int num[1];
num[0]=99;
p = num;
}
int main() {
fn();
cout << p[0] << " " << p[0];
}
謝謝你會接受這個答案,當它允許 – Austin
或者'int * num = new int [1];'在'fn()'內(儘管這肯定不是推薦和應該只用於確認範圍效應) –
@ Marc.2377這是避免全局變量的一個好點,我在你的評論之後編輯了答案 - tks – artm