我需要维护一些代码,其中包括以下变量声明:
char tmpry[40];
这个函数正在使用它:
char *SomeFunction(char *tmpryP) {
// Do stuff.
}
函数调用是:
SomeFunction(&tmpry[0]);
我很确定这只是相同的意思:“
SomeFunction(tmpry);
我甚至检查了SomeFunction中的char*指针在两种情况下最终指向的内存位置是否相同。
我的问题是一个合理性检查,即这两个函数调用是否相同(因此原始程序员只是故意为难人)?
std::vector<char>
),重载了operator []
表达式的x
和&x[0]
将会有非常不同的含义,而第二个更适合我的意图。当然,在纯C中这一切都不太重要,因为在C中几乎没有数据抽象;因此,应该优先选择具有卓越可读性的拼写方式。 - ulidtko