关于C语言(2)——基本数据类型
1. 整型/字符/浮点型
打印格式 | 含义 |
---|
%d | 十进制 | %hd | 短整型(short) | %o | 八进制 | %x/%X | 十六进制(小写/大写) | %u | 无符号数 | %l | 长整型(long) | %c | 字符 | %s | 字符串 | %.2f | 浮点型(2表示小数位保留两位,可自己设定) |
1)内存中所占字节: 32位系统中,int占4个字节,并且字节数short<=int<=long,具体取决于操作系统;char类型占1个字节;float与double类型8字节。
2)字符与字符串区别: 字符串相当于“字符数组+‘\0’”,而字符本质是一个ASCII码。注意‘a’的ASCII码为97,‘A’的ASCII码为65。
3)void类型: void作为空类型,并不占存储空间,它其中很重要的一个作用就是限定变量的存储空间为空;当void修饰函数时,用来限定函数的返回值为空,c语言中可return,也可不return,这样对于无需函数返回值的函数便无需分配内存空间;限定函数参数列表时,可以用来接受任何类型的参数,可以实现类似于c++中多态的功能,例如:
void printtrans(void (*Func)(void*),void* A){
Func(A);
}
void inttrans(int a){
printf("%d\n",a);
}
void doubletrans(double a){
printf("%.2f\n",a)
}
void chartrans(char a){
printf("%c\n",a)
}
int main()
{
int a=5;
printtrans(inttrans,a);
double b=10.;
printtrans(doubletrans,b);
char c='a';
printtrans(chartrans,c);
return 0;
}
2. 类型限定符
1)extern: extern用来声明变量,声明不同于定义,并不分配内存空间。当本文件所使用的变量在项目的其他文件中时,可以通过extern来进行声明后使用。在C语言中初次定义变量时,默认在前面加了一个extern(相当于声明同时记进行定义)。 2)const: const表示限定该变量为常量,参考关于C语言(1)——变量与常量 3)volatile: 用于编译器优化代码,不经常使用。 4)register: 定义一个存储器变量,这只是一个建议型指令,意即:当CPU有空余寄存器时将该变量存储于寄存器中,否则不储存于寄存器。
|