C语言指针可以相加吗?为什么?3Q

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/28 04:35:17
C语言指针可以相加吗?为什么?3QC语言指针可以相加吗?为什么?3QC语言指针可以相加吗?为什么?3Q两个指针是不能相加的.仍以街道地址的比喻为例,假设你住在湖滨大道1332号,你的邻居住在湖滨大道1

C语言指针可以相加吗?为什么?3Q
C语言指针可以相加吗?为什么?3Q

C语言指针可以相加吗?为什么?3Q
两个指针是不能相加的.仍以街道地址的比喻为例,假设你住在湖滨大道1332号,你的邻居住在湖滨大道1364号,那么1332+1364指的是什么呢?其结果是一个毫无意义的数字.如果你的C程序试图将两个指针相加,编译程序就会发出警告.当你试图将一个指针和另外两个指针的差值相加的时候,你很可能会误将其中的两个指针相加,例如,你很可能会使用下述语句:p=p+p2-p1; 上述语句是不正确的,因为它和下述语句完全相同:p=(p+p2)-p1; 正确的语句应该是:p=p+(p2-p1); 对此例来说,使用下述语句更好:p+=p2-p1;