为什么指针之间可以相减但不能相加
指针之间可以相减是因为指针实际上是存储了地址的变量,相减的结果是两个指针之间的地址差。
指针之间不能相加是因为指针的加法运算没有定义。指针加法的结果不是一个有意义的地址,因为两个指针之间的地址差可能不是一个有效的内存地址。此外,指针相加可能导致指针越界,引发未定义行为或错误。因此,C/C++语言规定了指针之间的加法操作是非法的。
原文地址: https://www.cveoy.top/t/topic/h7xm 著作权归作者所有。请勿转载和采集!
安全问答是一个知识全球问答,包含丰富的问答知识
指针之间可以相减是因为指针实际上是存储了地址的变量,相减的结果是两个指针之间的地址差。
指针之间不能相加是因为指针的加法运算没有定义。指针加法的结果不是一个有意义的地址,因为两个指针之间的地址差可能不是一个有效的内存地址。此外,指针相加可能导致指针越界,引发未定义行为或错误。因此,C/C++语言规定了指针之间的加法操作是非法的。
原文地址: https://www.cveoy.top/t/topic/h7xm 著作权归作者所有。请勿转载和采集!