C语言基础-类型
1.signed 表示有符号型 (在内存地址最高位 0 表示正数 1表示负数)
2.unsigned 表示无符号型
3.在不同位的操作系统中 每种类型占用的内存大小不一样 如下以32位操作系统为例

4. 进制区别
八进制 :必须以0开头,不能大于8的数字 比如 017
十进制:不能以0开头,数字范围0-9
十六进制:必须以0x开头,数字范围 0-f ,可以大小写
5.浮点数打印
单精度float:printf("%.3f",f) 格式:%.nf (.n 表示小说点后显示几位)
双精度double:printf("%.3lf",lf) 格式:%.nf (.n 表示小说点后显示几位)
浮点数显示会不会四舍五入呢?
一般来讲四舍五入需要人工处理的,比如0.5555的时候显示的时候

实际打印的时候有的是0.55 有的是0.56:

根因请参考:https://www.cnblogs.com/sddai/p/6919415.html?utm_source=itdadao&utm_medium=referral
6.字符串
1).字符串表现形式是 字符串字面量 (如"just like this")
2).字符串:顾名思义 批量字符成串,中间可以穿插 转义字符 \n等,如果字符长度很长 可以在行尾添加\ 另外一行继续 如下
char* test = "a;lsdkfj;alskdfsdf233234\
asdfasdfasdf";
3).字符串声明 可以声明为 字符串数组 也可以声明为指针
char a[10] = "tufeigege" ;
char b[11] = "tufeigege";
char c[] = "tufeigege";
char* d = "tufeigege";
a,b,c 都是数组声明方式,c语言标准库里面 会在字符串后面加上空字符 /0作为结束符,所以字符串实际内存长度要比字符串长度大1,如b和a 相比,如果大于1还有剩余,编译器会自动填充空字符/0 ,c这种生命方式符自动适配长度,编译的时候 c和a的大小一样。
d 是指针声明,指向字符串字面量的第一个字符。
字符数组 和 指针这两种声明的区别:数组可以对字符串进行修改,指针不行,强行修改会报异常 如下


浙公网安备 33010602011771号