C语言第二课

C语言学习之路

4.4 变量的作用域和生命周期

作用域
通常来说,一段程序代码中所用到的名字并不总是有效/可用的, 而限定这个名字的可用性的代码范围就是这个名字的作用域

1.局部变量的作用域是变量所在的局部范围
2.全局变量的作用域是整个工程

生命周期
变量的生命周期指的是变量的创建到销毁之间的一个时间段
变量创建的本质是在空间内开辟一块空间存放数据,销毁是说清楚数据把空间还给操作系统

1.局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束
2.全局变量的生命周期是:整个程序的生命周期

4.5 常量

· 字面常量 
· const修饰的常变量
· #define定义的标识符常量
· 枚举常量

const修饰的常变量:

运行报错

#define定义的标识符常量:

#include <stdio.h>
#define SIZE 10  //将SIZE定义为常量10
int main()
{
	int a = SIZE;
	int arr[SIZE] = { 0 };
	//这里的SIZE相当于常量10

	return 0;
}
	

枚举常量:
枚举 就是一一列举

#include <stdio.h>
//生活中有些值是可以一一列举的
//比如 性别:男、女
enum SEX
{	//列除了枚举类型enum的可能取值
	//MALE,FEMALE是枚举常量
	//初始值默认从0开始,依次向下递增1
	//初始值能改变,但仅限在枚举时,比如 MALE=3 FEMALE就是4,SECERT就是5
	MALE,//男
	FEMALE,//女
	SECERT
};

int main()
{
	printf("%d\n",MALE);
	printf("%d\n",FEMALE);
	printf("%d\n", SECERT);
	return 0;
}

5.1 字符串

"hello"

这种由双引号引起来的一串字符称为字符串字面值,或者简称字符串。
注意:字符串的结束标志时一个\0的转义字符。在计算字符串长度的时候\0是结束标志,不算做字符串内容。

#include <stdio.h>
//下面代码,打印结果是什么?为什么?(突出'\0'的重要性)
int main()
{
    char arr1[] = "hello";
    char arr2[] = { 'h', 'e', 'l','l','o'};
    char arr3[] = { 'h', 'e', 'l', 'l','o','\0' };
    printf("%s\n", arr1);
    printf("%s\n", arr2);
    printf("%s\n", arr3);
    return 0;
}

打印结果
打印结果

5.2 转义字符

假如我们要在屏幕上打印一个目录: c:\code\test.c
我们该如何写代码?

#include <stdio.h>
int main()
{
 printf("c:\code\test.c\n");
    return 0;
}

实际上程序运行的结果是这样的:
在这里插入图片描述
这里就不得不提一下转义字符了。转义字符顾名思义就是转变意思。
下面看一些转义字符。

转义字符对照表

6. 注释

  1. 代码中有不需要的代码可以直接删除,也可以注释掉

  2. 代码中有些代码比较难懂,可以加一下注释文字

     注释有两种风格:
     C语言风格的注释 /*xxxxxx*/
     缺陷:不能嵌套注释
     C++风格的注释 //xxxxxxxx
     可以注释一行也可以注释多行
    
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Z.Alex

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值