基本数据类型包括字符型,整型,浮点型,其中字符型和整型又被统称为整数类数据类型。
字符型:char 型 signed char型 unsigned char 型
整型:signed short int 型 , unsigned short int 型 signed int 型, unsigned int 型,signed long int型
unsigned long int 型
浮点型: float 型 double 型 long double 型
他们各自占用了不同大小的内存空间,所以数据类型可以理解为固定内存大小的别名。
数据类型就是创建变量的模子;比如 char类型大小为1个字节 ,用它创建的变量在内存空间占用1个字节空间的内存。
那什么是变量呢?变量是由数据类型创建的,所以变量就是一段连续存储空间的别名。程序通过变量申请并命名存储空间,通过变量名就可以使用存储空间。
接下来我们通过程序来验证数据类型与变量的关系
#include <stdio.h>
int main()
{
char c = 0;
short s = 0;
int i = 0;
printf("%d, %d\n", sizeof(char), sizeof(c));
printf("%d, %d\n", sizeof(short), sizeof(s));
printf("%d, %d\n", sizeof(int), sizeof(i));
return 0;
}
输出结果为
结果很明显;
那在c中我们可以定义自己的数据类型吗?
答案是可以的。程序如下
#include <stdio.h>
typedef double* Double_Pointer;
int main(){
Double_Pointer a,d;
double* b,c;
printf("%d, %d\n", sizeof(Double_Pointer), sizeof(a));
printf("%d, %d\n",sizeof(Double_Pointer), sizeof(d));
printf("%d, %d\n", sizeof(double*), sizeof(b));
printf("%d, %d\n", sizeof(double*), sizeof(c));
return 0;
}
结果可以看出我们确实定义出了自己的double*数据类型。