请问C语言中定义数据类型的有哪些词啊,应该在什么情况下用到?

Python012

请问C语言中定义数据类型的有哪些词啊,应该在什么情况下用到?,第1张

typedef

A

B;将一个已知的类型A定义为类型B

#define

A

B可以在预处理阶段将源代码中所有出现A的地方替换为A

前两个在某些意义上也是自定义类型,但实际上它们不生成新的数据类型。定义新的类型的关键字有enum,struct,union

enum定义一个枚举类型。

枚举型变量只能取定义枚举型时所规定的“标识符”。虽然枚举型本质上是整型,枚举型的“标识符”也只是符号常量,但是,采用枚举型可以极大地提高程序的可读性,同时由于限制了“整型”的取值范围,可以避免程序中用错误的数据给变量赋值,防止出现逻辑错误。

struct定义一个结构体。结构型是最典型的自定义数据类型,与之相关的存储单元由多个类型不同的基本类型存储单元组合而成。当定义一个结构型变量时,就会申请一个这样的存储单元,其中属于它的多个基本类型存储单元都有一个内部的名称,整个存储单元由结构型变量名代表。数组变量虽然也包含了多个存储单元,但实际上通常只使用它表现为基本类型的数组元素。使用结构型变量时多数情况下也是使用其中的某个基本类型存储单元,用结构体成员操作符(.)把结构型变量名和内部的名称结合起来就是相关存储单元的变量名。这样看来,结构型与数组类似,数组变量是多个同类型变量的代表,它包含了多个数组元素,而结构型变量是多个不同类型变量的代表,它包含了多个成员变量。

union定义一个联合体。联合型变量也包含了多个成员变量,但它们共享存储单元,这就意味着在某个时刻只有一个成员变量是真正可以使用的。有时可以利用一个联合型变量代替多个普通变量以减少程序对存储空间的需求。

根据自己需要保存的数据是什么性质来选择合适的变量类型。如果需要保存的是字符,那么就选用char类型,如果是一串字符,比方说用来保存姓名或者密码等等,那么就可以选用char数组。如果保存的数据没有小数,那么就可以选用int类型,在32位的编译系统下,int类型可以保存,绝对值不大于21亿的整数。如果是带有小数的数据,那么就需要选用浮点型,float类型可以保存最多有七位有效数据,doubld类型,最多可以保存有15位有效数字。如果保存的数据只有是和否两种可能,那么可以选用bool类型。

你好!C语言有五种基本数据类型:字符、整型、单精度实型、双精度实型和空类型。尽管这几种类型数据的长度和范围随处理器的类型和C语言编译程序的实现而异,但以bit为例,整数与CPU字长相等,一个字符通常为一个字节,浮点值的确切格式则根据实现而定

C语言还提供了几种聚合类型(aggregate

types),包括数组、指针、结构、共用体(联合)、位域和枚举

除v

o

i

d类型外,基本类型的前面可以有各种修饰符。修饰符用来改变基本类型的意义,以便更准确地适应各种情况的需求。修饰符如下:

signed(有符号)。

unsigned(无符号)。

long(长型符)。

short(短型符)。修饰符s

i

g

n

e

d、s

h

o

r

t、l

o

n

g和u

n

s

i

g

n

e

d适用于字符和整数两种基本类型,而l

o

n

g还可用于d

o

u

b

l

e(注意,由于long

float与d

o

u

b

l

e意思相同,所以A

N

S

I标准删除了多余的long

float)。希望可以帮到你!