C语言数据类型有4种
基本数据类型 构造类型 指针类型 无返回值类型
基本数据类型
数值类型
int型:整型,该类型的数据在32位的操作系统下占4字节,64位占8字节。
long型,32位下占4字节,64位下占8字节。
short型,占2个字节
char型,占1个字节
float型,占4字节
double型,占8字节
构造类型
结构体类型
struct,将多个基本数据类型,或者结构体,共用体,指针构造而成的复合类型,大小取决于其他类型大小的总和。
//例如
typedef struct score{
int math;
int english;
}score;
struct student{
char * name;
int age;
score = {100,100};
}stu;
共用体类型
共用体也是由系列其他类型组合而成的类型,共用体大小取决于共用体内最大的类型大小。
union A{
int a;
double c;
}A;
枚举类型
由于一次只能给一个常量赋值,所以,枚举占4个字节
我们常将一组相关的常量集定义成枚举
typedef enum week{
Mon = 1, Tues, Wed, Thurs, Fri, Sat, Sun
}week;
//使用枚举
int main(){
int i = 1;
week day = (week)i;
switch(day){
case Mon: puts("Monday"); break;
case Tues: puts("Tuesday"); break;
case Wed: puts("Wednesday"); break;
case Thurs: puts("Thursday"); break;
case Fri: puts("Friday"); break;
case Sat: puts("Saturday"); break;
case Sun: puts("Sunday"); break;
default: puts("Error!");
}
return 0;
}
数组类型
,数组类型是一组相同数据类型的集合,可以是结构体,可以是共用体。
int a[10] = {0};
char a[10] = {0};
数组类型,常被用来出题,例如,已知int a[3][3] , a[0][0]的地址是1000,求a[2][2]的地址,甚至有的还可能求16进制地址,这里知道int型占4个字节,就能推算出到a[2][2]的时候是第多少个字节,就能推算出a的地址了。
指针类型
指针类型占4个字节,int * q ,char * q 都是4个字节
无返回值类型
void,通常被定义在函数前,如果当前函数无任何返回值,价void修饰。