变量的使用
1.作用域
程序设计概念,通常来说,一段代码中所用的名字并不总是有效的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
局部变量的作用域是变量所在的局部工作范围。(也就是所在的{}范围内)
全局变量的作用域是整个工程。
示例代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int a = 10;
int main()
{
{
printf("1:%d\n", a);
int b = 25;
printf("%d\n", b);
}
printf("2:%d\n",a);
return 0;
}
代码结果:
以上是在一个源文件里面,那么假设全局变量在另一个源文件里面呢,还可以在显示吗?
把a定义在另一个源文件text1里面运行text会出现以下结果:
我们应在主函数前声明变量(添加如下语句)
extern int a;//声明变量
运行结果:
生命周期
变量的声明周期指的是变量的创建到变量的销毁之间的时间段。
1.局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
2.全局变量的生命周期是:整个程序的生命周期。
常量
1.字面常量
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
3.14;
3;
2.333;
return 0;
}
2.const修饰的常变量
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int b = 10;//b是变量
b = 20;
printf("b:%d\n", b);
return 0;
}
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
const int b = 10;//b是常变量(具有不能改变的属性)
b = 20;
printf("b:%d\n", b);
return 0;
}
运行结果报错:
3.#define定义的标识符常量
示例代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#define c 1000
int main()
{
int a = c;
printf("a:%d\n", a);
return 0;
}
运行结果:
4.枚举常量(可以一一列举的常量)
代码示例:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
enum Sex
{
male,
female,
other
};
int main()
{
enum Sex a = male;
printf("%d\n",male);
printf("%d\n",female);
printf("%d\n",other);
}
运行结果:
初始值可以改变
字符串
由双引号引起来的一串字符称为字符串(字符串结束标志是一个\0的转义字符,在计算字符串长度的时候\0是结束标志,不算做字符串的内容)
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
"hello";
return 0;
}
示例代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
char arr1[]="abc";
char arr2[] = {'a','b','c'};
int len = strlen("abc");
printf("%d\n", len);
printf("%s\n",arr1);
printf("%s\n", arr2);
return 0;
}
运行结果: