1、整数类型(int)
int是一种数据类型,在编程语言(C、C++、C#、Java等)中,是用于定义整数类型变量的标识符。C 语言提供了很多整数类型(整型),这些整型的区别在于它们的取值范围的大小,以及是否可以为负。int是整型之一,一般被称为整型。int代表有符号整数,也就是说,用int声明的变量可以是正数,可以是负数,也可以是零,但是只能是整数。标准规定int的最小取值范围是 -32767 到 32767。int的取值范围因机器而异,但是一定要大于或者等于 -32767 到 32767。标准整数类型的存储大小和值范围,如下表,
类型存储大小值范围
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
为了得到某个类型或某个变量在特定平台上的准确大小,可以使用 sizeof 运算符。表达式 sizeof(type) 得到对象或类型的存储字节大小。
例如,
#include
#include
int main()
{
printf("int 存储大小 : %lu \n", sizeof(int));
return 0;
}
2、浮点类型
每当需要带小数的数字(例如,9.99或3.14515)时,都应使用浮点类型。标准浮点类型的存储大小、值范围和精度,如下表,
类型存储大小值范围精度
float4 字节1.2E-38 到 3.4E+386 位小数
double8 字节2.3E-308 到 1.7E+30815 位小数
long double16 字节3.4E-4932 到 1.1E+493219 位小数
将输出浮点类型占用的存储空间以及它的范围值输出,例如,#include
#include
int main()
{
printf("float 存储最大字节数 : %lu \n", sizeof(float));
printf("float 最小值: %E\n", FLT_MIN );
printf("float 最大值: %E\n", FLT_MAX );
printf("精度值: %d\n", FLT_DIG );
return 0;
}
3、字符类型
char类型的值占用所有数据类型的最小内存量。通常只需要一个字节。char不仅是一种整数,也是一种特殊的类型:字符(character)。可以通过字符常量为char类型的变量指定初始值。
1)字符常量可以只是单引号之间的字符。常用单引号表示字符的字面量,如,'a', '1'。单引号''也是一个字符,printf和scanf里用的%c来输入输出字符,例如,#include
int main()
{
char c;
char d;
c = 1;
d = '1';//将字符赋值给一个char变量
if(c == d){
printf("相等\n");
}else{
printf("不相等\n");
}
printf("c=%d\n",c);
printf("d=%d\n",d);
return 0;
}
注意:char整数类型和字符类型不相等,如1与'1',一个是数字,一个是字符。
2)字符的输入输出#include
int main()
{
char c;
scanf("%c",&c);//scanf将值传给c,以下面两种形式输出
printf("c=%d\n",c);//以整数值是多少
printf("d='%c'\n",c);//如果当做一个字符,它是多少,这里%c的''自己加上去的,这样结果显示时有''
return 0;
}
3)字符计算
C语言中字符是一种整数,可以做运算。例如,#include
int main()
{
char c = 'A';
c++;
printf("%c\n",c);
return 0;
}
4、void 类型
无值型字节长度为0, 主要有两个用途:
1)明确地表示一个函数不返回任何值;
2)可以产生一个同一类型指针(可根据需要动态分配给其内存)。 类型为 void * 的指针代表对象的地址,而不是类型。例如,内存分配函数 void *malloc( size_t size ); 返回指向 void 的指针,可以转换为任何数据类型。
例如,
#include
int main()
{
void *ptr = NULL; //void 指针
void *buffer; /*buffer被定义为无值型指针*/
int *p = NULL;// 整型指针
char *cp = NULL;//字符指针
float *fp = NULL;//浮点指针
//void指针的大小
printf("void指针的大小 = %d\n\n",sizeof(ptr));
//整型指针的大小
printf("整型指针的大小 = %d\n\n",sizeof(p));
//字符指针的大小
printf("字符指针的大小 = %d\n\n",sizeof(cp));
//浮点指针的大小
printf("浮点指针的大小 = %d\n\n",sizeof(fp));
return 0;
}