实型
float:4字节,有效数字7位
double:8字节,有效数字15~16位
注意:
1.有效数字的位数是指:整数部分+小数部分
2.所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。 char型和short型参与运算时,必须先转换成int型
整型
1.在标准的c语言中规定,long长度只要等于或者大于int就行,所以不同编译器可能设置的long长度不一样
既长整形至少应该和整形一样长,而整形至少应该和短整形一样长
2.short和short int是同一个类型,short是short int的简写,long和long int是同一个类型,short是short int的简写
3.int ,short,long这些都是默认为有符号的
4.头文件limits.h说明了各种不同的整数类型的特点
5.头文件float.h定义了浮点类型的大小那些
6.浮点数字面值在缺省情况下都是double类型,除非它后面跟一个l,f那些来表示类型
7.如果函数不显式地声明返回值的类型,它就默认返回整形;参数的类型缺省的话也会默认为整形
8.unsigned 是无符号bai数。 b 是有符号数负数,无符号数和有du符号数混合运算 要注意 你到底 想计算什么zhi。默认,把有符dao号数内容 当成无符号数解释 计算。-20 就当 0xffffffec (4294967276)
指针
1.原程序中: char *string[] = {"hello","the","world"};
改为: char *string[] = {"hello","the","world", NULL};
C中字符串常量通常是ASCIIZ字符串,尽管没有显式去写,编译时会自动在字符串末尾加个'\0'. 例如存储字符串"the",编译器为它分配四个字节,依次存入: 't' , 'h', 'e' , '\0'.
然而对于指针却不会做类似的处理.
因此,只能自已做个显式的字符串结束标记
2.*和++的优先级是一样的,且方向都是从右向左的,所以*p++和*(p++)作用相同。
3.指针加上一个整数的结果是另一个指针。
微信扫码关注
更新实时通知