这是我的C语言学习记录,不能保证一定准确,如有错误请指出
C语言的语法不支持中文符号(" "中的字符串不算),程序中的" " , . < > ; : ' " [ ] { } _ \ / ? !之类的符号一定要注意,不要写成中文的,否则编译器会报错。
类型名 | 属性 | 大小(字节byte) |
char | 字符类型 | 1 |
short | 短整型 | 2 |
int | 整型 | 4 |
long | 长整型 | 4 |
long long | 更长整型 C99提出 | 8 |
float | 单精度浮点型 | 4 |
double | 双精度浮点型 | 8 |
PS:1.C语言无字符串类型的数据 2.char应读作[ˈkær],因为它是character的缩写,而不应该读作[tʃɑːr],英文中读[tʃɑːr]时有自己的意思 |
数据类型是用于在我们存储数据时,告诉计算机如何向内存开辟空间以及用何种方式来存储数据。
实际使用时,数据是存储在变量中的,数据类型表明了变量的类别,比如:
数据类型 变量名 = 0是初始化(建议有,不初始化变量里就是随机值) ;表示这条语句结束
int number = 0 ;
整型,顾名思义,只能用来存储整数,不同的整型所需要的空间不同,能表述的最大数值也不同;浮点型可以存储小数点后的数字,不同的浮点型所需要的空间不同,表述的精度不同。
如果硬将浮点数(小数)赋给整型,或是将高精度的浮点数赋给低精度浮点数会造成数据的丢失。
比如说:
int main()
{
int number0 = 10.56;
float number1 = 10.23456789;
printf("%d\n",number0);
printf("%f\n",number1);
return 0;
}
输出的结果为:
10
10.2345678
这就造成了数据的丢失
此外使用时也需要注意该类型所能存储的最大数字,如果超过这一数值,会发生溢出
比如:
int main()
{
char number2 = 127;
char number3 = 130;
printf("%d\n",number2);
printf("%d\n",number3);
return 0;
}
输出的结果为:
127
-126
number2的输出结果是正确的,但number3则发生了溢出
%c | 以字符形式打印 | ||
%s | 以字符串形式打印(连续打印多个字符,直到遇到 | %d | 字符停止,以整型形式打印 | 是停止标志,不会被打印)
%f | 以单精度浮点型进行打印 | ||
%lf | 以双精度浮点型进行打印 | ||
%p | 以地址进行打印(这里的地址是指内存的地址) | ||
%x | 以16进制进行打印 | ||
%o | 以8进制整型形式打印 | ||
printf函数常用格式:printf(" % ", variate name); | |||
C语言中有一个专门用来计算变量大小的 *** 作符sizeof(),注意,sizeof()是一个 *** 作符,而不是函数,所以使用sizeof()不需要引头文件,可以利用sizeof()验证之前所说的数据类型的大小:
输出结果:
1
2
4
4
8
4
8
证明之前的结论是正确的
除了用来计算类型的大小,sizeof()也可以用来计算变量的大小,eg.
这两个printf都能正常输出,且输出结果相同,也就是说sizeof(类型) == sizeof(相同类型的变量名)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)