C语言初学2:数据类型

一、数据类型的作用

用于声明不同类型的变量或函数,变量的类型决定了变量存储占用的空间

二、数据类型的分类

序号类型与描述
1

基本数据类型
算数类型:整型(int)、字符型(char)、浮点型(float)、双精度浮点型(double)

2枚举类型
算数类型:定义在程序中只能赋予其一定的离散整数值的变量
3

void 类型

没有值的数据类型,通常用于函数返回值

4

派生类型

数组类型([ ])、指针类型(*)、结构体类型(struct)

数组类型和结构体类型统称为聚合类型。函数的类型指的是函数返回值的类型。

三、整数类型

类型存储大小取值范围
char1 字节-128 到 127 或 0 到 255
unsigned char1 字节0 到 255
signed char1 字节-128 到 127
int2 或 4 字节-32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647
unsigned int2 或 4 字节0 到 65,535 或 0 到 4,294,967,295
short2 字节-32,768 到 32,767
unsigned short2 字节0 到 65,535
long4 字节-2,147,483,648 到 2,147,483,647
unsigned long4 字节0 到 4,294,967,295

3.1 浅谈unsigned和signed

作用8位的char取值范围32位的int取值范围意义打印方式
unsigned用来声明无符号的整形变量0~2^8-1
取值范围是0~2^n-1
0~2^32将变量能够表示的正整数范围扩大1倍,无法表示负整数%u(无符号的10进制正数
signed用来声明有符号的整形变量-2^7~2^7-1-2^31~2^31-1%d(有符号的10进制整数

3.2 格式化字符的含义

格式字符意义
%d以十进制形式输出带符号整数(正数不输出符号)
%a, %A

以十六进制形式输出浮点数(C99 新增)。

实例 printf("pi=%a\n", 3.14); 输出 pi=0x1.91eb86p+1

%f以小数形式输出单、双精度实数
%o以八进制形式输出无符号整数(不输出前缀0)
%x, %X以十六进制形式输出无符号整数(不输出前缀Ox)
%u以十进制形式输出无符号整数
%x以十六进制形式输出无符号整数(不输出前缀Ox)
%c输出单个字符
%s输出字符串
%p输出指针地址

四、浮点类型

类型存储大小值范围精度
float4 字节1.2E-38 到 3.4E+386 位有效位
double8 字节2.3E-308 到 1.7E+30815 位有效位
long double16 字节3.4E-4932 到 1.1E+493219 位有效位

五、void 类型

void 通常用于以下三种情况:

序号类型与描述
1函数返回为空
C 中有各种函数都不返回值,或者您可以说它们返回空。不返回值的函数的返回类型为空。例如 void exit (int status);
2函数参数为空
C 中有各种函数不接受任何参数。不带参数的函数可以接受一个 void。例如 int rand(void);
3指针指向 void
类型为 void * 的指针代表对象的地址,而不是类型。例如,内存分配函数 void *malloc( size_t size ); 返回指向 void 的指针,可以转换为任何数据类型。

六、sizeof 操作符

作用:获取某个数据类型的长度

#include<stdio.h>

int main(){
	short a = 10;
	int b = 100;
	
	int short_length = sizeof a;
	int int_length = sizeof(b);
	
	int long_length = sizeof(long);
	int char_length = sizeof(char);
	
	printf("short_length:%d\n",short_length); /* short_length:2 */
	printf("int_length:%d\n",int_length); /* int_length:4 */
	printf("long_length:%d\n",long_length); /* long_length:4 */
	printf("char_length:%d",char_length); /* char_length:1 */
	return 0;

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值