你知道这两个C语言小知识吗?

Posted 我是晓伍

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你知道这两个C语言小知识吗?相关的知识,希望对你有一定的参考价值。

文章目录


前言

这两个C语言中需要注意的小知识你都了解了吗

一、局部变量和全局变量

局部变量和全局变量的区别,通俗的说,就是局部变量在花括号内部,而全局变量在花括号外部,那么这样会引出一个问题-局部变量和全局变量的作用域分别是哪?

我们说:局部变量的作用域也就是局部变量的范围,换句人话就是它所在的花括号内,如下所示:

int main()

	//1
		int a = 100;
		printf("%d\\n", a);
	//2
	//大括号外不能再用这个a了
	return 0;

这里的1和2合起来就是a的作用域,而出了这个括号以后,再使用a就会报错了,因为a已经不在了。

而全部变量的作用域则是整个工程,注意,是整个工程哦,什么意思呢,就是说,我假如在一个文件中声明了变量,是可以跑到另外一个文件去调用的,前提就是他们在一个工程中,例如

我现在在test.c中声明了一个int类型的变量并初始化为10,之后我跳转到test2.c中写这样一句代码extern int a
这之后就能用到test.c中的a了,如下图:

二、C语言常量

C语言的常量一共有如下几种:
1.字面常量
2.const修饰的常变量
3.#define定义的标识符常量
4.枚举常量
下面主要谈谈const修饰的常变量,首先它叫常变量,所以一定是一个变量,这是可以证明的,比如,大家都知道数组的下标必须是一个常量,那把const修饰的东西当作数组下标去试一试就知道答案了
msvc下:

gcc下:

总结

以上就是全部的内容,希望大家多多点赞

以上是关于你知道这两个C语言小知识吗?的主要内容,如果未能解决你的问题,请参考以下文章

一个C语言的小问题

指针的这些知识你知道吗?C语言超硬核指针进阶版3w+字详解+指针笔试题画图+文字详细讲解

C语言知识这些知识你都不知道?难怪说你学不懂C语言

C语言灵魂拷问:这两者你知道有啥区别吗?

冒泡排序这 2 个小技巧,你了解吗?

c语言字面值知识体系总结大学霸IT达人