变量的存储细节
在函数定义的变量都是局部变量,局部变量是存放在栈中的1、变量的存储细节
1、局部变量是存在栈中,先分配字节地址大的然后分配字节地址小的,所有先定义的变量的地址大,后定义变量地址小
2、变量的地址是所占用存储空间中,字节地址最小的那个地址编号
2、字符
char c = 'A'
1、查ASCII码表,找出'A'对应的ASCII码值,存放在变量c中
printf("%c",c);
2、从变量c中取出ASCII值,然后去查ASCII表找到对应的字符,显示屏幕上
字符的本质:整形数 1、先定义变量字节地址比后定义的变量地址大
2、变量的地址是所占用存储空间字节最小那个地址
3、整数的高位放在高字节,低位放在低字节
类型说明符
类型说明符都是用修饰整形数所有的类型说明符都是修饰int,所以int可以省略
1、控制所占用的存储空间的大小
short 2个字节 %hd
long 8个字节 %ld
long long 8个字节 %lld
2、控制符号
signed 表示是有符号(可以表示正负数) 基本是废物
unsigned 表示无符号的数(只能表示正整数) %u
控制符号的修饰符可以与控制空间修饰后组合使用
// unsigned double ud = 10.2; 错误
char类型
void test(){//1、查表找出 'a' 对应的ASCII值;2、放到变量c中
char c = 'a';
printf("%d\n",c);
//1、取出变量c中ASCII值,2查表找出对应字符
printf("%c\n",c);
//char d = '好';char 只能存放ASCII表中字符 不可以存放中文 中文 gbk2312 gbk gbk18030 unicode