劳烦帮忙解释下这两行VC++代码

老陌 发布于 2013/06/05 13:42
阅读 232
收藏 0
unsigned char *buff = new unsigned char[100];
int w = 10;
int h = 10;
buff+(int)(w/2)+h; // 这里感到很疑惑
// buff 应该是一个数组, 和int型 相加是什么意思,得到什么结果?劳烦解释

加载中
0
魔力猫
魔力猫
结果就是buff进行了指针计算,结果自然还是指针。如果是形参实参来说没区别,就具体数值而言,buff是指向数组地址开头,表达式则是向后偏移了15
老陌
老陌
感谢解答, 差不多理解了。
0
魔力猫
魔力猫
看到buff前面的星号了吗?这是指针。后面的加是进行偏移量计算
老陌
老陌
问下, 这表达式返回值是什么? 将这个表达式 作为参数 传递, 和直接将 buff 作为参数传递有什么区别?
0
情天大圣
情天大圣
数组,即指针
返回顶部
顶部