C语言 | 类型的基本归类

类型的基本归类

整型家族

整型家族
charunsigned char
signed char
shortunsigned short [ int ]
signed short [ int ]
intunsigned int
signed int
longunsigned long [ int ]
signed long [ int ]

那么为什么char字符型也要被归类为整型家族呢?

这是因为字符在内存中存储的是字符的ASCII码值,ASCII码值是整型,所以字符类型归类为整型家族。 

signed与unsigned的意义
  • signed是有符号的
  • unsigned是无符号的

在编译器中,其实signed int有符号整型与int是相同的,默认int a的a变量就是有符号的,但是在定义无符号的整型时,我们要注意不能缺少unsigned,例如:

int a;
//signed int a;
unsigned int a;

同理,其实int就是signed int,short就是signed short,long就是signed long,那么char呢?注意这里的char与它们是不同的:

  • char是否是signed有符号的,在C语言标准中是为定义的,取决于不同的编译器中。

这里注意在整型家族中,我们并没有提到long long类型,因为long long是一种较新的类型,在一些古老的编译器中,也不能支持使用long long,所以大家需要酌情使用long long类型。

浮点数家族

float
double

构造类型

构造类型,也称为自定义类型,就是可以根据自己的需求来设定的自定义类型。

数组类型
结构体类型struct
枚举类型enum
联合类型union

指针类型

int * pi;
char * pc;
float * pf;
void * pv;

空类型

  • void 表示空类型(无类型)
  • 通常应用于函数的返回类型函数的参数指针类型
void test(void)
{    

}

我们看一下上面的代码,第一个void是表示test函数不会返回任何值;而第二个void则是表示test函数没有参数。

在一些古老的编程书籍中,会有在主函数中传参为void,这就表示,在使用main主函数时,不需要传参,但是其实main函数是有三个参数的。

int main(void)  //在使用main主函数时,可以不传参
{

}

//main主函数的三个参数
int main(int argc,char * argv,char * envp[])
{

}

大概了解了这个类型之后,今天讲的主要是整型家族以及浮点型家族在内存中的存储。 


在编程中,我们需要创建变量,创建变量就需要开辟空间。而数据在内存中存储的都是二进制,计算机能够处理的是二进制的数据,整型和浮点型数据在内存中也都是以二进制的形式,进行存储的,那么整型浮点型二进制的表达形式有什么差异呢?

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安心学编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值