关于static和全局变量
请问一下我用下面这样的句子定义一个全局变量:static int sum;然后我在下面的用函数调用它并重新对它赋值,如:
void funtiont(sum)
{
sum=10;
}
这样的话重新赋的值会不会保存到全局变量里面呢?我的意思是别的函数再调用sum的时候它的值是初值还是修改后的值.谢谢!
函数的参数要注意,要按引用或指针传递
#include<iostream>
using namespace std;
static int sum;
void function(int&); //void function(int*);
int main(){
cout<<sum<<endl;
function(sum); //function(&sum);
cout<<sum<<endl;
system("pause");
return 0;
}
void function(int &x) //void function(int *x)
{
x = 10; // *x = 10;
}
[/CODE]
按值传递是改变的原变量的复制,
[CODE]
#include<iostream>
using namespace std;
static int sum;
void function(int);
int main(){
cout<<sum<<endl;
function(sum);
cout<<sum<<endl;
system("pause");
return 0;
}
void function(int x)
{
x = 10;
}
[/CODE]