#include <stdio.h> struct hlist_head a; struct hlist_head { struct hlist_node *first; }; int main(){ a.first = 0; printf("first is %d",a.first); return 0; }
这段代码使用gcc -Wall编译器可以编译通过也没报警告,vc的纯c环境没试过。
想不通为啥可以编译通过,最终一个可以解释这个现象的理由是C的类型检查太弱了
#include <stdio.h> struct hlist_head a; struct hlist_head { struct hlist_node *first; }; int main(){ a.first = 0; printf("first is %d",a.first); return 0; }
这段代码使用gcc -Wall编译器可以编译通过也没报警告,vc的纯c环境没试过。
想不通为啥可以编译通过,最终一个可以解释这个现象的理由是C的类型检查太弱了