我有以下示例代码。只是想知道在全局指针中获取局部变量的地址然后在子函数中修改它的内容是否有效。以下程序正确修改变量a 的值。这种做法会引起任何问题吗?
#include <iostream>
#include <vector>
using namespace std;
vector<int*> va;
void func()
{
int b ;
b = 10;
int * c = va[0];
cout << "VALUE OF C=" << *c << endl;
*c = 20;
cout << "VALUE OF C=" << *c << endl;
}
int main()
{
int a;
a = 1;
va.push_back(&a);
func();
cout << "VALUE IS= " << a << endl;
return 0;
}