C语言内置类型和自定义类型

一、数据类型的介绍

char                //字符数据类型      1字节

short              //短整形                  2字节

int                  //整形                      4字节

long               //长整形                  4或8字节(c标准中说,sizeof(long)>=sizeof(int),具体                                                                            的是没有给具体的规则的)

long long       //更长的整形           8字节

float              //单精度浮点型        4字节

double          //双精度浮点型        4字节

 1.1官网中查看<limits.h>查看数据类型的最大最小值;<stdint.h>查看整形的详细定义;<float.h>查看浮点型的详细定义;

二、类型的基本归类

整形家族:

char        

        unsigned char

        signed char

short

        unsigned short

        signed short

int

        unsigned int

        signed int

long

        unsigned long

        signed long

long long

        unsigned long long

        signed long long

 注:char字符本质上存储的是ASCII码值,是整形,所以归类的时候,放在整形;这意味着可以使用大于,小于号来比较char字符的大小;注意是char(字符)类型,不是字符串。

浮点数家族

float

double

自定义类型(构造类型) 

自定义类型:自己创造的类型

数组类型

结构体类型 struct

枚举类型 enum

联合类型 union

 数组类型举个例子 

int arr1[10]  ->int [10]  

int arr2[5]   ->int [5]

这两个数组的类型不一样,因为数组的元素个数发生了变化或元素的类型发生变化;

所以数组也是自定义类型,根据实际情况来指定大小和类型;

 指针类型

int *ptr

char *ptr

float *ptr

void *ptr

 空类型

void 表示空类型(无类型)
通常应用于函数的返回类型、函数的参数、指针类型
注:这个类型相当重要,在Linux调用函数中大多采用此类型,来传参和返回参;就是利用了其可以将任意类型转换为空类型(之后再转化为任意类型),和解引用之后是空,无法改变其变量等性质

 举例:

int a=10;

int *ptr=&a;

void *ptr1=(void*)ptr; //无法通过ptr1找到a的值,保障了a无法通过ptr1改变

ptr=(int*)ptr1;

//此外,可以将int类型转换成(void*),来使用;

int a = 10;
void* ptr1 = (void*)a;
cout << a << endl;
cout << ptr1 << endl;
cout << (int)ptr1 << endl;

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值