char a[]="helloworld";
我想得到'我'的地址?
(a+2)或&a[2]给予lloworld.并添加其他&符显示错误.
那么如何获得'l'的地址?
如果不可能,请解释一下?
a + 2是数组中第三个元素的地址,它是第一个元素的地址l.
在这个表达式中,a类型的char[11],被隐式转换为指向其初始元素的指针,产生一个类型的指针,添加char*到该指针2,给出数组的第三个元素的地址.
&a[2]给出相同的结果. a[2]相当于*(a + 2),所以完整表达式相当于&*(a + 2).的&和*互相抵消,留下a + 2,这是与上述相同.
如何在您的程序中解释此地址是另一回事.您可以将它用作"指向单个char对象的指针",在这种情况下,它只是指向第一个对象的指针l.但是,您也可以将其解释为"指向数组中包含的C字符串的指针,从指向的开始char,在这种情况下,您将获得"lloworld".这取决于您获得它后如何使用指针.
| 归档时间: |
|
| 查看次数: |
627 次 |
| 最近记录: |