C语言指针可以相加吗?为什么?拜托各位了 3Q

如题所述

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

希望采纳
温馨提示:答案为网友推荐,仅供参考
相似回答