C语言中数据在内存中是如何存放的
来源:互联网 发布:阿里云怎么做网站 编辑:程序博客网 时间:2024/05/28 16:17
10
我的理解是开一小段内存存放a的ASCII码值,再开一段内存放数值2,
但是我们打印a值的时候显示的是2,那么a和2所在的内存地址是存在什么样的联系呢
我是非计算机专业的,正在自学,感觉很迷糊,希望知道的指点下,谢谢
但是我们打印a值的时候显示的是2,那么a和2所在的内存地址是存在什么样的联系呢
我是非计算机专业的,正在自学,感觉很迷糊,希望知道的指点下,谢谢
newzzer | 浏览 4460 次 举报
我有更好的答案
邀请更新
2011-07-01 22:39最佳答案额 你理解错了 。 跟本就不存在a的ASCII码值。
这样看:定义了一个变量,给它取个名字叫a,这个名字是给你程序员看的,计算机跟本不看这个a,a对计算机来说只是一个标识,它标识着在内存中所占用的一个大小为4B的内存空间,并且!这4B的空间存放一个整数,其值为2. 而在存储的时候是这样存的
由于内存的最小单位是字节,也就是1B是最小的单位,而一个int类型的数据在32的系统中要占用32位大小, 换算一个 8位=1字节 即8bit=1B 那么32位=4字节。 这个2转换成二进制数是10 ,但计算机要求用32位的数来存放这个2 ,咋办? 补0呗。在哪补? 肯定不能在后边补啊,那就变成别的数了—— 那,那就在前补。
所以是00000000 00000000 00000000 00000010
以上便是2这个数在计算机内存中的形式, 每8位一组分成4组刚好是4B大小,所以内存中就有连着的4个内存单元 来存放这个数值2. 而这一内存单元我们把它叫做a, 计算机也正是通过这个名字来标识这个数。
综上,总结一下,a这个字母是给程序员看的, 计算机不认识a这字母,a在计算机中仅仅是转换为一个计算机用于标识这个数值2的其它的什么东西。 具体是什么东西你不必要了解,其实我也不知道。而这个2在内存中存放的形式是占用4个内存单元的空间。
楼主想更深入了解这方面,建议把C语言学一遍后学学汇编语言就很清楚了
char有符号型型变量,全称为signed char,一般缩写为char,范围是-128~127。uchar在C语言中不存在,会出现语法错误。unsigned char 是无符号型变量范围是 0~255。
但大家为了书写简单,大家都做如下定义:这时候Uchar或uchar就可以当无符号型字符变量使用了:
typedef unsigned char Uchar;
typedef unsigned char uchar。
阅读全文
0 0
- C语言中数据在内存中是如何存放的
- C语言的各种数据在内存中如何存储?
- C语言 如何查看数据在内存中是怎么存储的
- 数据在内存中存放的位置
- 数据在内存的存放
- c中的变量在内存中存放的位置
- Java中float和double类型的数据在内存中是怎样存放的
- 【C语言】整数,浮点数在内存中是如何存储的
- 高级语言中各种数据结构在内存中是如何存储的?
- C语言中局部变量和全局变量在内存中的存放位置
- C语言中局部变量与全局变量在内存中的存放位置
- C语言中局部变量与全局变量在内存中的存放位置
- C语言中局部变量与全局变量在内存中的存放位置
- C语言中局部变量与全局变量在内存中的存放位置
- C/C++中基本数据类型在内存中是如何存储的
- 指令和数据都用二进制代码存放在内存中,从时空观角度回答CPU如何区分读出的代码是指令还是数据
- 指令和数据都用二进制代码存放在内存中,从时空观角度回答CPU如何区分读出的代码是指令还是数据
- c语言中如何获取整数在内存中的表示。
- caffe python:loss曲线
- 《机器学习实战》第五章梯度上升算法的直观理解
- apache
- 使用ps命令查看使用内存或CPU最多的10个进程
- Xcode Build Settings 分析
- C语言中数据在内存中是如何存放的
- CodeForces
- 安装MySQLdb与连接数据库
- Centos6.5安装 php7
- 百度地图 坐标转换 顺序问题
- Windows+Anaconda3安装PyTorch
- LA 2965 (map的正确使用方法+MEET IN THE MIDDLE)
- Android通过自定义Application使用Map集合做全局参数传递
- 小记:移除.过滤.保留.新增list.