c语言数组及结构体常用赋值方法
#include <stdio.h>
#define N 8
int a[] = {0, 1, 2, 3, 4, 5, 6, 7};
int b[N] = {0, 1, 2, 3, 4};
int c[N] = {
[0 ... 3] = 233,
9,
[5 ... 6] = 666
};
int d[N] = {233};
int e[] = { [0 ... 7] = 233 };
int f[N] = {0};
int g[N] = {};
struct tt {
int a;
int b;
};
void print_list(int *list, int n) { int i; for (i = 0; i < n; ++i) { printf("%d ", list[i]); }; printf("\n"); }
int main(int argc, char** argv) {
print_list(a, N);
print_list(b, N);
print_list(c, N);
print_list(d, N);
print_list(e, N);
print_list(f, N);
print_list(g, N);
struct tt test = {
.a = 233
};
printf("tt a: %d b: %d\n", test.a, test.b);
return 0;
}
输出结果:
0 1 2 3 4 5 6 7 // 数组a的初始化
0 1 2 3 4 0 0 0 // 数组b的初始化
233 233 233 233 9 666 666 0 // 数组c的初始化
233 0 0 0 0 0 0 0 // 数组d的初始化
233 233 233 233 233 233 233 233 // 数组e的初始化
0 0 0 0 0 0 0 0 // 数组f的初始化
0 0 0 0 0 0 0 0 // 数组g的初始化
tt a: 233 b: 0 // 结构体的初始化