C语言 - 什么是数据类型?数据类型的本质
来源:互联网 发布:mac 桌面上 ds.store 编辑:程序博客网 时间:2024/05/18 01:04
C语言中提供了许多的数据类型,如下图所示:
C语言为什么要引入这么多的数据类型呢?因为C语言归根结底只是一门编程语言,一种让计算机为我们做事情的工具。引入这么多的数据类型是为了更加方便的表现现实世界中事物。
1.什么是数据类型?
C语言为我们提供了int, float等基本数据类型,这些都是表示基本数据用的。然而C语言也为我们提供了复杂的数据类型,比如struct, union等。这些可以由基本数据类型抽象组合而成,可以对应现实世界的任何抽象事物,方便我们编写程序。
那我们怎么去理解数据类型。我们通常用一个数据类型,比如int 去定义一个变量,就像这样:
int a;
其实我是这么认为的,就像数学里面的“设”一样,设出一个未知数a,当然我们也可以为它设置初始值。然后我们就可以使用这个a了,因为a是没有但是我们要用到的,所以要先声明。至于要用那种数据类型完全取决于自己的需求。
2.数据类型的本质是什么?
其实数据类型的本质就是“固定内存块大小的别名”,为什么这么说呢?我们可以做一个测试用例:
#include <stdio.h>#include <stdlib.h>int main() { printf("sizeof(int) : %d\n", sizeof(int)); printf("sizeof(float) : %d\n", sizeof(float)); printf("sizeof(double) : %d\n", sizeof(double)); printf("sizeof(long) : %d\n", sizeof(long)); printf("sizeof(char) : %d\n", sizeof(char)); system("pause"); return 0;}
结果:
sizeof(int) : 4
sizeof(float) : 4
sizeof(double) : 8
sizeof(long) : 4
sizeof(char) : 1
从上面的测试来看,各种数据类型的大小都是固定的,我们声明变量的时候就是在告诉编译器我要申请这么大的一块内存,而这块内存的标号就是这个变量的名字。所以变量和内存是两码事,我们是通过变量向内存里边读写数据而不是向这个变量在读写数据。
学习C语言最重要的就是要搞懂内存的概念,C语言与其他高级语言比如C#,java不同,C语言是弱类型的语言,对数据类型没有那么严格的检查。所以自己要务必分清楚数据类型和变量的关系,往往就是因为概念不清晰而导致BUG。
- C语言 - 什么是数据类型?数据类型的本质
- 【C语言提高02】数据类型本质
- C语言day1(数据类型、变量本质)
- C语言的数据类型
- C语言的数据类型
- C语言的数据类型
- C语言的数据类型
- C语言的数据类型
- C语言的数据类型
- c语言的数据类型
- C语言的数据类型
- C语言的数据类型
- C语言的数据类型
- C语言的数据类型
- c语言的数据类型
- C语言的数据类型
- C语言的数据类型
- C语言的数据类型
- 使用coding管理代码
- nginx架构解析
- spring mvc controller间跳转 重定向 传参
- 剖析OutOfMemoryError: PermGen space产生原因及解决方法
- KMP之自创匹配- -
- C语言 - 什么是数据类型?数据类型的本质
- Java动态代理
- [ahk]读取excel文件实例
- Android自定义view(2)
- 学习OpenCV(二)
- 关于 lua的常用 语句 比较实用
- 熟悉msfvenom生成木马程序过程,并执行和监听控制.
- JPA 学习篇(四)Query接口下的 API 测试
- Java基础之String中equals,声明方式,等大总结