
初学者和很有“思想”的人,都喜欢读代码和背代码,而不是执行和调试代码。他们很喜欢给你一段代码,如:
struct people {
char name[20];
int age;
};
struct people *p1[20];
struct people (*p2)[20];
struct people *(p3[20]);
然后问你:哪个是数组的指针?哪个是指针的数组?
这些很混乱的概念,即便一时搞清楚了,日子一长,也很容易记错。除非你整天不干别的,光是卖弄这些东西。不过指针的数组,在实际编程当中还是比较常用的。开源社区和GNU通常采用一种不易混淆的解决办法:
struct people {
char name[20];
int age;
};
typedef struct people *p_people;
p_people peoples[20];
这一种很清晰的方法,并且避免了矫情。
Recent comments
10 weeks 1 day ago
10 weeks 5 days ago
11 weeks 22 hours ago
11 weeks 22 hours ago
11 weeks 3 days ago
12 weeks 2 days ago
12 weeks 2 days ago
12 weeks 2 days ago