C语言中表达式必须是可修改的左值是什么意思
2个回答
展开全部
意思是赋值号左侧的是只能是变量,不能是表达式。
通过变量名来访问变量,是一种「相对安全」的方式。因为只有你定义了它,你才能够访问相应的变量。这就是对内存的基本认知。但是,如果光知道这一点的话,其实还是不知道内存是如何存放变量的,因为底层是如何工作的,依旧不清楚。
要继续深究的话,就需要把变量在内存中真正的样子是什么搞清楚。内存的最小索引单元是1字节,那么你其实可以把内存比作一个超级大的「字符型数组」。数组是有下标的,我们是通过数组名和下标来访问数组中的元素。
扩展资料
那么内存也是一样,只不过起了个新名字:地址。每个地址可以存放「1字节」的数据,所以如果我们需要定义一个整型变量,就需要占据4个内存单元。
其实在程序运行的过程中,完全不需要变量名的参与。变量名只是方便进行代码的编写和阅读,只有程序员和编译器知道这个东西的存在。
而编译器还知道具体的变量名对应的「内存地址」,这个是我们不知道的,因此编译器就像一个桥梁。当读取某一个变量的时候,编译器就会找到变量名所对应的地址,读取对应的值。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询