C语言关键字32个,c语言关键字及其含义
博客明星评选
这里的写作是我们学习所有语言的基础。我们在这里看到了为什么有多个文件。什么是变量.这些是我们开始的基础。没有它们,很难深入理解C语言。这个博客太重要了,但是内容不算太多。本来是想和其他内容结合在一起的,但是因为太重要所以单独列出来了。让我们好好看看。
有很多文件。现在您可能仍在使用test.c文件。由于我们编写的代码很少,所以不需要这么多文件。考虑一个场景,你写了一个函数,效果很好。我们都需要在main.c,add.c,sub.c中使用一个函数.诸如此类。你该怎么办?
我们有两种方法,一种是用extern在文件中逐个声明这个函数,但是因为你的函数的函数太好了,要用到很多文件,我们每个文件都声明是不是很麻烦?这里有人提出了另一种方法。我把函数的所有声明都放在。当我使用某个函数时,我可以把数据包含在这个头文件中。这就简单多了。
这个test.h文件你觉得熟悉吗?这不是和stdio.h文件很像吗?是的,它们的功能是一样的,只是一个是我们定义的,一个是标准库提供的。
如何包含头文件
这个很简单,用include就可以了。这里有两种情况。
包含标准库的文件的使用类似于# includesdio.h,这样编译器可以直接在库“”中寻找自定义文件的使用,类似于#include test.h ,这样编译器可以先在同一个文件目录中搜索,如果找不到就去库。
防止头文件被重复包含一直是我们关心的问题。由于头文件中可能有很多代码,仅stdio.h就有大约800行代码。如果我们多次包含同一个头文件,编译器不会报错,但是会对代码的性能产生一定的影响。所以要尽量避免头文件被重复收录。这里有两种方法可以完成。不太了解他们也没关系。照我们做的做。
在文件顶部加一次#pragma,相对简单。
#杂注一次
#包含stdio.h
#包含stdio.h
#包含stdio.h
使用条件编译,注意这个。
#ifndef __TEST_H__
#定义__测试_H__
#包含stdio.h
#include assert.h
#endif
左值右值我们需要记住的是左值和右值,不是定义,而是它们的区别,只要我们能区分。
左边的值可以理解为一个空格,空格里的值可以修改。正确的值可以理解为不可修改的值。//左边的值
int main()
{
int a=1;
a=10
返回0;
}
//无法修改正确的值。
int main()
{
1=10;
返回0;
}
我先说常数,再说变量。常量是不能再次修改的数据。它有以下几类。
数值1,2,3.字符串常量 abcd , defcbg
在这里,我主要关注字符串常量。在C语言中,有一个字符串常量池,比如, abcd 就是其中的一部分。如果要把‘ABCD’改成‘bbcd’,是做不到的。有些人可能会困惑。不是很简单吗?我们只需要把A换成B就完成了?但这只是一个表象。“bbcd”也是字符串常量池的一部分。我们所说的修改就是改变指针所指向的地址。
#包含stdio.h
int main()
{
char * pa= abcd
printf(%p\n ,pa);
pa= bbcd
printf(%p\n ,pa);
返回0;
}
由此可以得出结论,相同的字符串常量地址是相同的。
int main()
{
char * pa= abcd
char * pb= abcd
if (pa==pb)
{
printf( pa==Pb \ n );
}
返回0;
}
在C语言中,我们将学习变量、常数、范围、生命周期等概念。我们可能会对内存中数据的存储有一些疑问。我们不禁要问,什么是变量,我们为什么需要变量?这些都是我们需要处理的疑惑。
什么是变量?简单来说,变量就是可以修改的量。变量不同于常数,它可以被修改。Int x=10,x可以修改为20,但是我们不能把常数1改成常数2。在计算机中,变量是内存中用于存储数据的特定大小的空间。
如何定义变量很简单,就是类型变量名=初始化值。
int a=10
双b=10.2为什么要有变数?
计算机的诞生是为了解决人们计算能力不足的问题。也就是说,计算机是用来进行计算的。
而计算需要数据。为了计算,在任何时刻,不是所有的数据都必须立即计算。
比如你想吃饭,你不用一次吃完所有的饭。如果你想一个一个把饭吃完,那么你还没吃的食物就需要暂时放在盘子里。
这里的盘子就像变量,饭菜就像变量中的数据。
换句话说,为什么需要变量?因为有数据需要临时保存,等待后续处理。
那么,为什么吃饭需要盘子呢?我想吃点东西。我就不能直接去锅里找吗?当然,但是效率很低。
因为我们吃饭的地方和做饭的地方很远。
总之,变量是为了帮助计算机更高效地工作。
变量的分类可以分为两类。
全局变量局部变量
局部变量:代码块中包含的变量称为局部变量。局部变量是临时的。当你进入代码块时,局部变量自动形成,当你退出时,代码块自动释放。(网上很多人说函数中的变量是局部变量,不会错,但说法不准确)
全局变量:定义在所有函数之外的变量称为全局变量。全局变量是全局的。
范围生命周期永远是一个模糊的点,很多人可能不知道两者的区别。
可以使用作用域变量的地方是作用域生命周期变量开始打开空间和破坏空间的地方。
我在这里给出一些结论,适用于大多数情况。局部变量的作用域和生命周期在局部变量所在的代码块中,代码块除外。全局变量的范围和生命周期就是整个程序。
C程序地址空间C程序地址空间是一个虚拟地址空间。我们不需要先理解这个图,记住就行了。
在这里,只要写一些代码来验证它。具体来说,我们需要学习操作系统的知识,只需要知道变量是如何存储的。
全局变量在这里,我想和你们谈谈全局变量。这很重要。所谓全局变量,可以认为是定义在主函数之外的变量。一般都遵循g_ variable name的格式,当然也可以省略。
int g _ key=20//全局变量
double g _ val=10.00
int main()
{
int a=10
双b=10.2
返回0;
}全局变量存储在编程中。全局变量是可以在所有范围内访问的变量,它们对应于局部变量。(来源:维基百科)
全局变量存储,全局变量存储在堆上,依次向上存储。
这里需要提醒一下,因为全局变量有外部链接属性(先看看就知道了),所以不要在自定义头文件中定义全局变量,这样会导致变量的重定义。最好不要声明它们,我将在extern中重点介绍它们。
局部变量在计算机科学中,局部变量(英文:Local variables)是具有局部作用域的变量。这样的变量只能由声明它的函数或块访问。在只有两级可视性的编程语言中,局部变量对应全局变量;另一方面,许多类ALGOL语言允许任意多级嵌套函数,每个函数都有自己的私有变量、函数、常数和类型。(来源:维基百科)
局部变量的存储。让我先看看这个局部变量的内存存储,它存储在堆栈区。
局部变量存储在栈上,你会发现A、B、C的地址依次递减。这是因为当局部变量在栈上打开空间时,它们依次打开空间,每打开一个空间,它们就把栈从下往上推。
摘要
常量是不可修改的变量。它的本质是在记忆中开辟一个空间。地址空间好像是内存,其实不是。局部变量是“FIFO”。局部变量的全局变量是“相反”的。
转载请联系作者取得授权,否则将追究法律责任。评论0发表评论。
wx604d7ad249574
2022-05-06 10:37
有问题请私信我。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。