在c语言中可以自己定义数据类型,但只能靠c中原有的数据类型创建数据,而用户自己建立的数据类型也是如此。我们先看一下基本的数据类型有哪些。
类型名 | 字节数 | 取值范围 |
int(基本整型) | 4 | -2147483648~2147483647 |
unsigned int(无符号基本整型) | 4 | 0~4294967295 |
short(短整型) | 2 | -32768~32767 |
unsigned short(无符号短整型) | 2 | 0~65535 |
long(长整型) | 4 | -2147483648~2147483647 |
unsigned long(无符号长整型) | 4 | 0~4294967295 |
long long(双长整型) | 8 | -9223372036854775808~9223372036854775807 |
unsigned long long(无符号双长整型) | 8 | 0~18446744073709551615 |
bool(布尔类型) | 1 | true,false |
char(字符型) | 1 | -128~127 |
float(单精度浮点型) | 4 | -3.4*10^38~3.4*10^38 |
double(双精度浮点型) | 8 | -1.7*10^308~1.7*10^308 |
void(空类型) | 0 |
自己建立数据类型无异于就是自行组合这些数据类型,建立结构体。
我们利用struct这个函数来进行数据的缝合。
struct all
{
int num;
char name[5];
int a1;
int a2;
int a3;
};
这就是一个简单的缝合例子。那需要我们怎么用呢?
引用的时候重新定义一下就行了。
struct all yt;
这里struct all就看成一整段的等同于int这些,定义给yt。那么引用的时候又是怎么引用的呢?
scanf("%d %c %d %d %d",&yt.num,&yt.name,&yt.a1,&yt.a2,&yt.a3);
printf("%d %c %d %d %d",yt.num,yt.name,yt.a1,yt.a2,yt.a3);
yt后面跟上点加对应的数据名,就是你所要定义的数据了。