C语言指针运算:计算 p2 - p1 的值
题目:
有以下说明和语句,则 p2 - p1 的值为多少?( )
int a[10], *p1, *p2;
p1 = a;
p2 = &a[5];
A. 5
B. 6
C. 10
D. 没有指针与指针的减法
答案:
B. 6
解析:
在 C 语言中,指针之间的减法运算表示两个指针所指向的内存地址之间的差值,以元素的大小为单位。在本例中,p1 指向数组 a 的首地址,p2 指向数组 a 的第 6 个元素的地址。由于数组元素的类型为 int,因此 p2 - p1 的结果为 6,表示 p2 指向的地址比 p1 指向的地址高出 6 个 int 型元素的距离。
原文地址: https://www.cveoy.top/t/topic/bWbF 著作权归作者所有。请勿转载和采集!