编号 | 6.3.2.2.e |
标题 | 不应将两个指针相减,除非它们的未限定类型相同。 |
语言 | C |
级别 | 2 |
类别 | 转换 |
规范说明
指针相减仅在确定偏移量时才有意义。
注意
指针的未限定类型是指其类型没有“const”、“volatile”等修饰符。
示例
char *p;
char *q;
float *f;
static const char message[] = "This is a message for ...";
float g = 0.0;
p = &message[5];
q = &message[10];
f = &g;
printf("Number of elements: %d\n", q - p); /* RIGHT */
printf("Number of elements: %d\n", q - f); /* WRONG */