在Visual Studio中要编译带"点号"的结构体,需要把main.cpp改为main.c,才能编译通过。
例子,main.c
#includestruct tagOPClass { int a, b, c, d; ssize_t(*read) (int input); }; int myread(int input) { printf("myread input=%dn", input + 1); return input + 1; } int main() { struct tagOPClass opClass = { .a = 1, .c = 3, 4, //3,4 是对.c和.d的赋值 .b = 5, .read = myread }; printf("opClass.a=%d ", opClass.a); printf("opClass.b=%d ", opClass.b); printf("opClass.c=%d ", opClass.c); printf("opClass.d=%d n", opClass.d); printf("opClass.d=%d n", opClass.read(97)); printf("%s 向你问好!n", "demohello"); int i = 0; while (0) { i = i + 2; printf("value=%dn", i); } //fork(); getchar(); return 0; }



