Jea*_*ean 2 c binary gcc pointers
为什么GCC会给我这个错误?我在这做错了什么?
temp.c: In function main:
temp.c:6: error: invalid operands to binary +
Run Code Online (Sandbox Code Playgroud)
码:
main()
{
char *Address1,*Address2,*NewAddress;
Address1= (char*)0x12;
Address2= (char*)0x34;
NewAddress = Address1+Address2;
}
Run Code Online (Sandbox Code Playgroud)
小智 5
C 不允许添加两个指针。我为此找到的最好的解释,没有触及任何标准,是 Rouben Rostamian 的话:
如果你和我住在同一条街上,我们的门牌号的不同是我们房子之间距离的某种表示。
现在,你告诉我,我们门牌号的总和有什么意义?
所以整个操作没有任何意义。这很合乎逻辑,不是吗?但是,您可以这样做:
NewAddress = (char *)(0x12 + 0x34);
Run Code Online (Sandbox Code Playgroud)