相信很多新手小伙伴像我一样在一开始很多视频就会告诉你很多数据类型什么 int,char等等等。但是我们根本不理解到底什么数据类型写的时候我到底应该用那种来表示我所创建的数据。我所分享的都是我作为初学者发现的学习中的困难并通过学习总结分享出来,可能进度比较慢主要针对一些具体的小问题。希望能帮助的迷途的你。
其实我们在像电脑输入数据类型的时候就是一种向电脑申请储存空间的时候,因为首先我们需要储存空间来放置我们设定的变量,就像酒店得给每个人安排个住的房间一样安排一个带名称的房间之后你才会知道几号房住的什么客人。每一个数据类型代表了你要申请多大的空间。其中数据类型以及其所占空间如下
#include <stdio.h>
int main()
{
printf("%d\n", sizeof(char));
printf("%d\n", sizeof(short));
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long));
printf("%d\n", sizeof(long long));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
printf("%d\n", sizeof(long double));
return 0;
}
这里我再来具体的对这个字节分析一下,在ASCII编码中一个字母(不分大小写)占一个字节,一个字节等于8比特,比特就是电脑空间的最小单位量,因为电脑只能识别0和1比特存放的就都是0或1。这里我们就首先明白了这些数据类型他具体可以放多大的东西进去,那么,每个不同的名称放进去的东西又是怎样呢?
整型数据是不包含小数部分的数值型数据,整型数据只用来表示整数,以二进制形式存储。
浮点数是用来表示带有小数部分的实数。
接下来应用到实际当中,我们在具体的c语言编写过程中的如何应用呢?我们程序的编写就会有一些常量和变量的输入。
#include <stdio.h>
int global = 2019;//全局变量
int main()
{
int local = 2018;//局部变量
//下面定义的global会不会有问题?
int global = 2020;//局部变量
printf("global = %d\n", global);
return 0; }
这里我们可以看到在主函数也就是int main这里定义的就是全局的变量,在括号{}里的就是局部变量只在括号中起作用。所以你的输出printf是在括号中所以局部变量优先使用也可以说是就近原则。
这里我们再说一一下输入,输出对应的就是printf,scanf。输出就是电脑显示的,输入就可以是你给电脑输入的。
#include <stdio.h>
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个操作数:>");
scanf("%d %d", &a, &b);
sum = num1 + num2;
printf("sum = %d\n", sum);
return 0; }
可以通过这个代码感受一下学习代码的过程并不是一种堆墙砌瓦的过程更多是在多看多用慢慢摸索出来的所以很多时候不需要真正的专门去背,多上手实际操作比背学的更快。
#include <stdio.h>
//下面代码,打印结果是什么?为什么?(突出'\0'的重要性)
int main()
{
char arr1[] = "bit";
char arr2[] = {'b', 'i', 't'};
char arr3[] = {'b', 'i', 't', '\0'};
printf("%s\n", arr1);
printf("%s\n", arr2);
printf("%s\n", arr3);
return 0; }