【C语言】类型的意义

时间:2022-10-18 13:06:29

????write in front????   

????大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流????

????2021年度博客之星物联网与嵌入式开发TOP5~2021博客之星Top100~阿里云专家博主 & 阿里云星级博主~掘金⇿InfoQ~51CTOP创作者~周榜102﹣总榜826⇿全网访问量35w+????

????本文由 謓泽 原创 发布在51CTOP 如需转载还请通知⚠

????个人主页-​謓泽51Ctop的博客​????

????欢迎各位→点赞???? + 收藏⭐️ + 留言????

????系列专栏-​謓泽51Ctop的分类_51CTO博客​????

✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本????

【C语言】类型的意义

 类型的意义

使用这个类型开辟的内存空间的大小从而大小也决定了范围

  • 就是这个类型一旦确定之后就决定了它的内存空间的大小,也决定了它的这个范围有多大。举个例子就像:当你把一个变量a的值赋值给了int整形,那么它的存储大小就是4个字节取值的范围就是 -32768~32767。
  • 注意,各种类型的存储大小与系统位数有关,但目前通用的以64位系统为主。

 C语言的类型分为

基本类型:
它们是算术类型,包括两种类型:整数类型浮点类型。

枚举类型:
它们也是算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变量

void 类型:
类型说明符 void 表明没有可用的值

派生类型:
它们包括:指针类型、数组类型、结构类型、共用体类型和函数类型。如何看清楚一个内存空间的视角,这个其实就是假设你 

 如何看待内存空间的视角:int的类型创建一个变量(a),占了4个字节 float类型创建一个变量(b),同样也只是占了仅仅4个字节的空间。但是给变量a的是格式符%d是一个整形,而给变量b的是格式符%f是一个单精度浮点型。

注意它们的存储的方式并不一样,大家可以在编译器上用调试内容一看就知道它们的内存是不同的

int a = 5;float b = 5.0; 用调试到内存那里就有了。

  • 内存是计算机中一个主要部件 用于保存进程运行时的程序和数据也称可执行存储器。在计算机中,内存空间一般是指主存储器空间(物理地址空间)或系统为一个用户程序分配内存空间。扩展内存空间的方法一般有增加内存大小和虚拟内存。

在这里其他类型我就不跟大家讲解了,就说说构造类型,以及指针类型吧。

构造类型 

  1. 数组类型:为什么说数组类型是构造类型呢?是因为假设int arr[20],这样看是数组类型是吧。那么int [20] 是类型吧,那么我再进行一个改变int [10] 这个类型都在发生改变 那么如果你是不同的类型呢字符型,浮点型这样,所以数组也是一种自定义类型也是构造类型。
  2. 结构体类型:struct,成员类型在发生变化,那么它的结构体也在发生着变化。如果对结构体不了解的小伙伴们可以看看我文章里面有这个结构体的内容。
  3. 枚举类型:enum,这个是C语言的一个关键字,到时候会拿出写一篇给大家着重讲解这个枚举类型在C语言当中起到一个什么样子的作用。
  4. 联合体类型:union,这个也叫做是共用体,这个我们也现在不说。

指针类型

  • 指针的目的其实就是为了存放一个地址赋值给其中的变量,而指针的字节都是4个字节。
  • 这样我们用一段代码让大家直观的看看是不是指针是4个字节,由于博主再前面跟大家讲过野指针的内容但是指针的内容还没有跟大家说,到时候博主也会写一篇有关于指针的内容,由此可见指针类型是一种特殊的类型。注意一下,指针的定义方式就是带*????
#include<stdio.h>
int main(void){
int a = 10;
int* p = &a; //整形指针变量p接收a的地址
//这里数据类型全部定义成指针了-- 32位 4byte 64位 8byte
printf("%d\n", sizeof(int*));
printf("%d\n", sizeof(short*));
printf("%d\n", sizeof(double*));
printf("%d\n", sizeof(char*));
}

【C语言】类型的意义

  • 运行结果:

【C语言】类型的意义

【C语言】类型的意义

空类型

  • 一种特殊的返回类型,表示空函数,也就是没有返回值的函数。空类型(无类型) void 用于显示说明一个函数不返回任何值。还可以说明指向 void 类型的指针,说明以后,这个指针就可指向各种不同类型的数据对象????
  • void无传参,当你在定义程序的时候加入无传参的时候,虽说程序也会运行起来。但是会有waring提示就是不需要的参数

函数的返回类型☮

#include<stdio.h>
void print(){
printf("hello word\n");
}
int main(void){
print();
}

【C语言】类型的意义

函数的参数☪

#include<stdio.h>
void print()//无参数的话进行传参也是可以的,但是这里没有所以我们C语言并不会进行接收{
printf("hello word\n");
}
int main(void){
print(10);//在print函数当中给上参数10

【C语言】类型的意义