C语言中的变量与常量
变量是以某标识符为名字,其数值可以改变(可读取,可赋值)
常量其数值不可改变(只可读,不可写)
变量
1)局部变量:函数内部定义的变量
2)全局变量:函数外部定义的变量
C语言中,全局变量和局部静态变量是存储在静态存储区的,他们在分配的时候都被系统默认初始化为0;而局部自动变量是在栈上分配内存的,如果不对它们进行初始化,那么他们可能是任意的随机值。所以我们在编写C语言的时候我们需要对变量初始化。
#include<stdio.h>
int a = 10; //全局变量
int main()
{
int b = 20; //局部变量
return 0;
}
常量
字面常量,const常量,宏常量,枚举常量
字面常量:字符常量,字符串常量,整型常量,实型常量
#include<stdio.h>
int main()
{
char a = 'A'; //字符常量
char b = "abcd"; //字符串常量
int c = 10; //整型常量
float d = 12.25; //实型常量
return 0;
}
宏常量define:#define PI 3.1415926
使用宏定义的好处:
1)对于某些复杂的数字,可以用特殊字符来代替,例如3.1415926
2)在写代码进行比较的时候可以清楚的知道与何比较
枚举常量enum:枚举值若不进行赋值,则第一个默认为零,后面依次加一
静态常量const:使变量 变为常量,可取不可读
const与宏的区别:
1、编译时刻:宏-预编译 , const-command+b(编译阶段)编译。
2、宏不会检查代码错误,只是替换,但是const会编译报错。
3、宏的好处:定义代码或字符串、方法、参数 const不能。 坏处:使用大量宏,容易造成编译时间久,每次都需要重新替换。