任何機構有任何想法爲何此代碼打印a
而不是b
?爲什麼指針正好改變?
我測試mainArea.root->rightBro
當我cout
東西的變化值。但爲什麼?
#include<iostream>
using namespace std;
struct triangle{
triangle *rightBro;
};
struct area{
triangle *root;
} mainArea;
void initialize(){
triangle root;
mainArea.root = &root;
}
int main()
{
initialize();
mainArea.root->rightBro = NULL ;
if (mainArea.root->rightBro == NULL) cout << "a" << endl;
if (mainArea.root->rightBro == NULL) cout << "b" << endl;
return 0;
}
[C++指向當函數返回時超出範圍的對象的可能重複 - 爲什麼這會起作用?](http://stackoverflow.com/questions/16591664/c-pointer-to-objects哪位-走出去的範圍外,在功能-回報 - 爲什麼 - 不-TH) – hetepeperfan