a和b存储单元?c语言中存储单元的地址和存储单元的内容有什么区别
一、c语言中存储单元的地址和存储单元的内容有什么区别
存储单元的地址是一个指针类型的。
而存储单元的类型是数据的具体类型。
举个例子吧。
定义一个整型变量int a= 1;
那么存储单元的地址是&a,可以赋值给一个指向整型的指针:
int*p=&a;
而存储单元的值是数值1,如果是四个字节的话即是:
00000000 00000000 0000000 00000001.
通过指针p可以找到a的值,赋值给另一个变量。
int b=*p;
如果有很多盒子,每个放着一个苹果。
那么存储单元的地址就是盒子的编号,而存储单元的内容就是盒子里的苹果。
通过编号是可以找到相应的苹果的。
二、内存中的存储单元的地址结构是几维
内存中的存储单元的地址结构是16位。
大部分16位和32位的CPU不允许将字或者长字存储到内存中的任意地址。比如Motorola68000不允许将16位的字存储到奇数地址中,将一个16位的字写到奇数地址将引发异常。
每一个单元的地址称为字节地址,任何相邻两个单元组成一个字地址,按编址原则约定用其中一个较小的地址来表示字地址。一个字由两个字节组成,则低字节对应低地址,高字节对应高地址。
相关应用:
在计算机中,由控制器解释,运算器执行的指令集是一个精心定义的数目十分有限的简单指令**。一般可以分为四类:
1)、数据移动(如:将一个数值从存储单元A拷贝到存储单元B)。
2)、数逻运算(如:计算存储单元A与存储单元B之和,结果返回存储单元C)。
3)、条件验证(如:如果存储单元A内数值为100,则下一条指令地址为存储单元F)。
4)、指令序列改易(如:下一条指令地址为存储单元F)。