在学习C语言的时候我建议在linux在学习,使用GCC编译器进行编译我们的C语言代码。初学者也可以使用VC+来进行学习C语言。但是要声明一点使用VC+专门用于C++的编译。由于C++兼容C语言所以可以编译C语言。博主任务要真正的了解C语言最好使用gcc编译器。这样才能很好的学习C语言。
一、基本数据类型的分析
1.什么是数据类型?
对于学习计算机语言来说,总是离不开数据类型,我开始学习数据类型的时候,开始有点困惑为什么整数使用int,字符使用char,到最后我终于明白什么是数据类型,其实就一个固定内存大小的容器,
我们可以把内存看成一个有长度连续的盒子(图1)。而我们的数据类型就是确定是多少个盒子(图2)。
可以通过下面的代码进行查看int short,char的字节数。
#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));
return 0;
}
图1:
图2:
2.变量的本质?
我们可以通过下面的几个点来讲解变量:
1.变量本质就是具有固定内存大小并且连续的存储空间的别名。
2.程序是通过变量来创建和命名一个存储空间。
3.程序可以通过别名来使用存储的空间。
3.数据类型与变量的关系。
数据类型的出现是为了把数据分成所需内存大小不同的数据。而从变量的本质我们可以看出变量就是相当于给数据类型创建的连续存储空间命别名。
如:
int i =10;//在内存中创建了4个字节的存储空间,而这块存储空间的别名就是i.在这块存储空间中存放的数据是10。
4.数据类型重命名
数据类型重命名顾明思议就是给数据类型进行重新的命名。对数据类型进行重新命名使用的关键字是typedef.我通过代码来进行演示
#include<stdio.h>
typedef int myInt; //给数据类型int 进行重新命名为myInt
typedef char myChar; //给数据类型char 进行重新命名为mychar
typedef short myShort; //给数据类型short 进行重新命名为myshort
typedef struct _myDemo //创建一个新的数据类型,并且对该数据数据类型冲命名为DEMO
{
int i;
myChar mc;
char c;
short s;
} DEMO;
int main(void)
{
printf("myInt is %d\n",sizeof(myInt)); //检验是否重命名成功并且打印其字节数
printf("myChar is %d\n",sizeof(myChar)); //检验是否重命名成功并且打印其字节数
printf("myShort is %d\n",sizeof(myShort)); //检验是否重命名成功并且打印其字节数
printf("DEMO is %d\n",sizeof(DEMO)); //检验是否重命名成功并且打印其字节数
return 0;
}
输出结果:
myInt is 4
myChar is 1
myShort is 2
DEMO is 8