变量
变量实质是程序可操作的内存区的名称,C中每个变量都有其特定的数据类型,类型决定了变量储存区域的大小与布局,即在允许范围内的值都可以储存在该内存区内。
变量的生命周期
变量的生命周期是指变量在程序运行过程中的“有效期”,根据生命周期的不同可以将变量分为全局变量和局部变量。
全局变量
生命周期为整个程序,作用域为文件开头到文件结尾。
局部变量
第一次进入函数时创建,退出程序时销毁。
静态变量
只能被创建文件内的函数调用,不能被其他文件的函数调用。
变量声明与定义
变量的定义
变量的定义需要先声明变量的类型,再定义变量名,格式为<数据类型>
<变量名>
。如:
int i;
float f;
char x;
double d;
定义多个同类型变量时,可以在类型后直接枚举,如:
int i,j,m,n; //定义i,j,m,n四个整型变量
变量的声明
一般来说,在变量声明时,回自动分配一个内存空间对变量进行储存,但有时,我们并不需要立即使用到这个内存空间,因此可以在创建这类变量时只对变量进行声明,而不进行定义,实现方法如下:
extern int i; //声明一个整型变量i,但不分配内存空间
这类变量的定义和初始化通常在其它代码段完成。如:
Add.c
#include <stdio.h>
//声明x,y为外部变量
extern int x;
extern int y;
int Add(){
return x+y;
}
main.c
#include<stdio.h>
//定义变量x,y并赋值
int x=1;
int y=2;
int Add();
int main(void){
int result;
result = Add();
printf("result的结果为:%d\n",result);
return 0;
}
左值与右值
指向内存空间的表达式称之为左值,储存在内存中某些地址的值称之为右值。
左值可以出现在左边也可以出现在右边,但右值只能出现在右边。