⚠️ 结构体数组,长度还是用比值算
(本条路线统一用 gcc -std=c11 -O0 编译)三个点排成一个数组:
#include <stdio.h>
struct Point { int x; int y; };
int main(void) {
struct Point ps[3] = {{1, 2}, {3, 4}, {5, 6}};
/* 元素个数用比值算,**不是 sizeof 结构体的绝对值** */
int n = sizeof(ps) / sizeof(ps[0]);
int sx = 0;
for (int i = 0; i < n; i++) sx += ps[i].x;
printf("%d/%d/%d\n", n, sx, ps[2].y);
return 0;
}
全部评论