我们常用的类型变量名有:
char、short、int、long、float、double、struct、union、enum、signed、unsigned、void
接下来,跟着我来了解一下它们吧。
1.
char 字符型,用char定义的变量是字符型变量,占一个字节,既占用的位(bit)数
char sh = ‘w’; //= 为赋值符号
char sh = ‘9’;//正确写法
char sh = ‘1234’;//错误写法:多个字符不能用单引号
2.
short 短整型,使用short定义的变量是短整型变量,占两个字节。16位系统中一个short能存储的数据的范围为-32768~32767
short int a = 11;
3.
int 整型,用int定义的变量是有符号整型变量,它可以是正整数、负整数、零。在不同的系统下,int所占的字节数是有差别的;在32位系统下int占4个字节,在16平台下int占2个字节.
int a = 11;// 用法一
int b = 11,c = 12;//用法二
4.
long 长整型,用long定义的变量是长整型的,在32位系统下占4个字节。如果使用1000000这样的大数字,则会被认为是long类型。
long int a = 11;
5.
float 单浮点型(实数),既带有小数点的数,用float定义的变量是单浮点型的实数,占4个字节
float = 1.1f //如果不加f默认为double类型
6.
double双浮点型(实数),用double定义的变量是双浮点型实数,占 8个字节
double b =1.1;
7.
struct这个关键字是与结构体类型相关的关键字,可以用它来定义结构体变量
8.
union 这个关键字是与联合体相关的关键字;
9.
eum 与枚举相关的关键字
10.
signed有符号型(有±)
在定义char、整型(short、int、long)这些数据的时候用signed修饰,它代表我们定义的数据是有符号的,可正可负;signed int 大小区间为-128~127。
signed int a = 11;
signed int a = -11;
11.
unsigned无符号类型
在定义char、整型(short、int、long)这些数据的时候用unsigned修饰,它代表我们定义的数据是无符号的,只能为正数和0,它不能修饰float、double;在16位系统中,unsigned能存储的数据范围则是0~65535
unsigned int a = 10;//正确格式
unsigned int a = -10;//错误格式
12.
void类型关键字(空类型)
void可以用来修饰函数的参数或者返回值,它表示该函数没有参数或者返回值
void yige(){
}
//代表yige函数没有返回值,yige函数不含参
13.
typedef 重命名关键字
typedef可以给已有类型重新取一个名字,使用方法如下
首先,用想起名字的类型定义一个变量:long int a
其次,用新的类型名替代a:long int INIT
之后,在最前面加上typedef :typedef long int INIT
最后就可以在函数里使用INIT了,INIT c等价于long int c
#include <stdio.h>
//1.long int a
//2.long int INIT
typedef long int INIT
int main(){
INIT c =10;
printf("c= %d\n",c);
return 0;
}
计算数据类型所占字节的大小
sizeof() 是一种内存容量度量函数,功能是返回一个变量或者类型的大小(以字节为单位);在 C 语言中,sizeof() 是一个判断数据类型或者表达式长度的运算符。
#include <stdio.h>
int main(){
int a;
char b;
short int c;
long int d;
float e = 1.1f;
double f = 1.1;
printf("sizeof(int) = %d\n",sizeof(a));
printf("sizeof(char) = %d\n",sizeof(b));
printf("sizeof(short int) = %d\n",sizeof(c));
printf("sizeof(long int) = %d\n",sizeof(d));
printf("sizeof(float) = %d\n",sizeof(e));
printf("sizeof(double) = %d\n",sizeof(f));
return 0;
}
点击编译,我们可以知道:
int 占用4个字节
char 占用1个字节
short int 占用2个字节
long int 占用4个字节
float 占用4个字节
double 占用8个字节