qfedu-c-level/day10/d3.c

15 lines
522 B
C
Raw Normal View History

#include <stdio.h>
#include <stdint.h>
int main()
{
int a[5];
int *p = a;
int(*q1)[5] = &a;
int **q2 = &p;
// uintptr_t 是 C 语言标准库<stdint.h> 中定义的一个无符号整数类型,它的大小足够存储指针值。因此, % lu 格式说明符用于打印 uintptr_t 类型的变量。 printf("q1=%p, &q1+1=%p, len = %lu\n", q1, q1 + 1, (uintptr_t)(q1 + 1) - (uintptr_t)q1);
printf("q2=%p, &q2+1=%p, len = %lu\n", q2, q2 + 1, (uintptr_t)(q2 + 1) - (uintptr_t)q2);
return 0;
}