变量声明的两种情况:
1.需要建立存储空间。例如:int k 在声明的时候就是建立存储空间。
2.不需要建立存储空间的,通过使用extern关键字声明变量名而不定义它。例如:extern int k 其中变量 k 可以在别的文件中定义的。
在一个源文件中引用另外一个源文件中定义的变量
方法:我们只需在引用的文件中将变量加上 extern 关键字的声明。
#include <stdio.h>
/*外部变量声明*/
extern int x ;
extern int y ;
int addtwonum()
{
return x+y;
}
#include <stdio.h>
/*定义两个全局变量*/
int x=1;
int y=2;
int addtwonum();
int main(void)
{
int result;
result = addtwonum();
printf("result : %d\n",result);
return 0;
}
以上两段代码经过编译,执行后的结果:
$ gcc addtwonum.c test.c -o main
$ ./main
result : 3
C 中的左值和右值
表达式类型 | 说明描述 |
---|---|
左值(Lvalues) | 指向内存位置的表达式被称为左值表达式。左值可以出现在赋值号的左边或右边。 |
右值(Rvalues) | 存储在内存中某些地址的数值。右值是不能对其进行赋值的表达式,也就是说,右值可以出现在赋值号的右边,但不能出现在赋值号的左边。 |
注意:1.变量是左值,因此可以出现在赋值号的左边。
2.数值型的字面值是右值,因此不能被赋值,不能出现在赋值号的左边。