C语言中的基本数据类型

1.整型

分有符号(signed) 无符号(unsigned)

(1) 短整型 short int(内存中占用2字节)

        short int(signed short int)取值范围: -32,768 ~ 32,767

        unsigned short int 取值范围: 0 ~ 65,535

(2) 整型 int(内存中占用4字节)

         int(signed int)取值范围: -2,147,483,648 ~ 2,147,483,647

         unsigned int 取值范围: 0 ~ 4,294,967,295

(3) 长整型

         long  int >= int(4字节)

         long int(signed long int)取值范围: -2,147,483,648 ~ 2,147,483,647

         unsigned long int 取值范围: 0 ~ 4,294,967,295

         long long int(内存中占用8字节)

         long long int (signed long long int) 取值范围:

         -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

         unsigned long long int 取值范围: 

         0 ~ 18,446,744,073,709,551,615

注意:
int内存占用大小 int最少16位(2字节),long不能比int短,short不能比int长,具体位长由编译器开发商根据各种情况自己决定

2. 浮点型

分为单精度 双精度

(1) 单精度 float(占用4字节)

       其中最高位为符号位,紧接着8位为指数位,剩下的23位为尾数位。

       取值范围: -3.4x10^38 ~ 3.4x10^38

(2) 双精度 double(占用8字节)

        其中最高位为符号位,紧接着11位为指数位,剩下的52位为尾数位。
        
        取值范围: -1.7x10^308 ~ 1.7x10^308

3.字符型

单引号为字符 双引号为字符串
char (占用1字节)

		char(signed) 取值范围: -128 ~ 127
		unsigned char 取值范围: 0 ~ 255			

4.构造类型

4.1 数组

Array 一组元素的集合

由 存储元素 和 数组索引组合而成
存储元素可以为字符 整型 浮点…
数组索引是由0 ~ n-1

	int arr[10]={0}; //可以存放十个整型的数组 其数组下标为0-9

4.2 结构体

struct结构体是一种自定义的复合数据类型 其总字节大小要考虑内存对齐

	struct S
	{
		int age;
		char name[5];
	};
	int main()
	{
		struct S stu = { 21,"小明"};
		printf("%d %s", stu.age, stu.name);
		return 0;
	}

4.3 联合体

union联合体几个成员变量共用一块内存,会覆盖 同时只能用其中一个成员 存在内存对齐

	union Un
	{
		int i;
		char c;
	}un;
	int main()
	{	
		un.i = 1;
		printf("%d",un.c);//输出 1

	return 0;
	}
	

4.4 枚举

enum枚举常量

	typedef enum en
	{
		A = 1,
		B = 5,
	}Number;
	int main()
	{	
		Number number;
		number=B;
		printf("%d",number);//5	
		return 0;
	}

5.指针类型

指针就是地址 ,当两个指针指向同一个空间时 指针减指针可以得到它们之间的元素的字节长度,指针内容非常多 这里不再过多赘述
例如:

int main()
{
	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
	int* p1 = &arr[0];//
	int* p2 = &arr[9];
	printf("%d", p2 - p1);
	
	return 0;
}

6.空类型

void 可以表示无类型
也用于函数无返回值 或 不接受参数

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值