![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
m0_47257822
这个作者很懒,什么都没留下…
展开
-
指针常量
指针常量 让我们来分析另外一个表达式。假定变量a存储于位置100,下面这条语句的作用是什么? ```c *100 = 25; ``` 看上去像是把25赋值给a,因为a是位置100所存储的变量。但是,这是错的!这条语句实际上是非法的,因为字面值100的类型是整型,而间接访问操作只能作用于指针类型表达式。如果你确实想把25存储于位置100,你必须使用强制类型转换。 *(int *)100 = 25; 强制类型转换把值100从“整型”转换为“指向整型的指针”,这样对它进行间接访问就是合法的。如果a原创 2020-10-12 23:25:30 · 89 阅读 · 1 评论 -
左值和右值
摘抄于:《C和指针》 左值和右值 为了理解有些操作符存在的限制,你必须理解左值(L- value)和右值( R-value)之间的区别,这两个术语是多年前由编译器设计者所创造并沿用至今,尽管它们的定义并不与C语言严格吻合 左值就是那些能够出现在赋值符号左边的东西。右值就是那些可以出现在赋值符号右边的东西 这里有个例子 a = b+25; a是个左值,因为它标识了一个可以存储结果值的地点,b+25是个右值,因为它指定了一个值。 它们可以互换吗? b+25 = a; 原先用作左值的a此时原创 2020-10-11 17:31:00 · 170 阅读 · 0 评论