上一篇聊聊C语言-存储世界的奥秘,我们介绍了计算机的整个存储体系设计,了解了我们的数据在计算机中是怎么被存储的。然而在我们的编程中我们的代码也是按照这个结构被计算机处理的。只是我们用编程语言来控制计算机去按照我们的想法来处理这些数据。下面我们进入正题C语言世界的变量声明和定义,变量就像是容器一样存放着我们在编程时用到的数据。。
1.什么是数据类型
数据类型可以理解为固定内存大小的别名,它就是创建变量的模子。
2.变量的本质
变量是一段实际连续存储空间的别名,程序中通过变量来申请并命名存储空间,通过变量的名字可以使用存储空间
#include <stdio.h>
int main()
{
char c = 0;
short s = 0;
int i = 0;
printf("%d, %d\n", sizeof(char), sizeof(c));
printf("%d, %d\n", sizeof(short), sizeof(s));
printf("%d, %d\n", sizeof(int), sizeof(i));
getchar();
return 0;
}
上面的这段程序输出了char,short,int类型所占的内存字节数。
3.变量声明的规则
什么事情都将规则,尤其在编程的世界里面,如果不讲规则那就会有无数的bug等着你。我们来说说变量声明的规则。
4.变量的定义和声明的区别
在程序设计中,时时刻刻都用到变量的定义和变量的声明,可有些时候我们对这个概念不是很清楚,知道它是怎么用,但却不知是怎么一会事,下面我就简单的把他们的区别介绍如下:
变量的声明有两种情况:
(1) 一种是需要建立存储空间的(定义、声明)。例如:int a在声明的时候就已经建立了存储空间。
(2) 另一种是不需要建立存储空间的(声明)。例如:extern int a其中变量a是在别的文件中定义的。
前者是"定义性声明(defining declaration)"或者称为"定义(definition)",而后者是"引用性声明(referncing declaration)"。从广义的角度来讲声明中包含着定义,但是并非所有的声明都是定义,例如:int a它既是声明,同时又是定义。然而对于extern a来讲它只是声明不是定义。一般的情况下我们常常这样叙述,把建立空间的声明称之为"定义",而把不需要建立存储空间称之为"声明"。
5.变量的初始化和赋值的区别
变量的初始化:是指变量在被说明的同时赋给一个初值。
变量的赋值:是给已说明的变量赋给一个特定值。
好了这篇就讲到这里,下篇我们讲讲变量的寿命,期待大家的捧场