初学C语言的一些小总结

在学习计算机之前,大致需要了解一下计算机的基本构成。很多人在学习的过程中,不了解计算机的基本结构,其实计算机一般可以分为硬件结构、系统以及我们常见的应用软件。而我们学习的C语言则是广泛的运用于底层的开发,即操作系统Operation system。
在学习C语言过程中,我总结了一些基本概念,如下所示:
1、全局/局部变量:下面这串代码则是举例说明了什么是全局变量什么是局部变量,其中有人可能认为局部变量就是在main函数中定义的变量,这是错误的。同时当局部变量与全局变量冲突时,优先会使用局部变量。
2.作用域与生命周期:提到变量不得不提到局部\全局变量的作用域与生命周期。局部变量的作用域就是局部变量所在的范围,而全局变量的作用域是整个工程。局部变量的生命周期时从进入局部范围生命周期开始,出了作用域生命周期结束。全局变量的生命周期、程序的生命周期和main函数的生命周期是一样的,即全局变量在程序运行的过程中始终存在。

int g_val = 100;//全局变量:在大括号外部定义的变量
void test()
{
	int a = 10;//局部变量
	printf("%d\n", g_val);
	printf("a = %d\n", a);//局部变量:在大括号(代码块)内部定义的变量   
}

3.常量:“常量”的广义概念是:‘不变化的量’(例如:在计算机程序运行时,不会被程序修改的量;数学函数中的某一个量,例如每一个具体的圆的半径、直径数值;物理学中的靠近地面的重力加速度;真空中的光速数值;不同的微粒的各自的质量)。
常量又可以分为以下几类:1.字面常量
2.const修饰的常变量
3.#define 定义的标识符常量
4.枚举常量

#define MAX 100
int main()
{
	//1.字面常量
	"abcdef";
	3.14;
	100;
	//2.const 修饰的常变量
	const int num = 10;//num虽然被const修饰,但本质上还是一个变量,不能用来指定数组大小
	num = 20;error:const 修饰的无法更改
	printf("%d\n", num);
	//3.#define 定义的标识符常量
	printf("%d\n", MAX);
	//4.枚举常量:可以一一列举的值,其中值无法修改 但是可以赋值
	enum Sex s = FEMALE;
	printf("%d\n", MALE);
	printf("%d\n", FEMALE);
	printf("%d\n", SECRET);
	return 0;
}

4.字符串:字符串在C语言中一般存储在字符数组中,在字符串末尾处通常会有一个’\0’存在作为字符串的结束标志。在打印字符串过程中,如果不放置’\0’,printf不会停止打印,会导致字符串后面的结果未知。arr1字符数组定义的方式,在字符串末尾隐藏了一个’\0’作为结束标志,而arr2字符数组这种定义方式末尾没有’\0’,因此在打印的过程中会出现错误。

int main()
{
	char arr1[] = "abc";//在字符串末尾隐藏一个\0,这个\0是字符串的结束标志
	char arr2[] = { 'a','b','c'};//如果不放置\0 printf不会停止打印 c后面是什么未知
	//printf("%s\n", arr1);
	//printf("%s\n", arr2);
	//库函数 - strlen -string length -求字符串长度
	int len1 = strlen(arr1);
	int len2 = strlen(arr2);//随机值
	printf("len1 = %d\n", len1);
	printf("len2 = %d\n", len2);

	return 0;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值