C语言基础——变量与内存

本文详细阐述了函数内局部变量的存储原理,包括字节地址分配顺序、字符的ASCII码表示与屏幕显示过程,同时介绍了不同类型说明符的用途及整数的存储方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 变量的存储细节

  在函数定义的变量都是局部变量,局部变量是存放在栈中的
    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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值