// 正确 #include <stdio.h> struct para { int a; int b; }; struct para test = { .a = 100, .b = 250, }; int sum(long *ab) { struct para *c = (struct para *)ab; return (c->a + c->b); } int main(void) { int abc; abc = sum((long *)&test); printf("sum = %d ", abc); return 0; }
// 正确 #include <stdio.h> struct para { int a; int b; }; struct para test = { .a = 100, .b = 250, }; int sum(long ab) { struct para *c = (struct para *)ab; return (c->a + c->b); } int main(void) { int abc; abc = sum((long)&test); printf("sum = %d ", abc); return 0; }
// 正确 #include <stdio.h> struct para { int a; int b; }; struct para test = { .a = 100, .b = 250, }; int sum(void *ab) { struct para *c = (struct para *)ab; return (c->a + c->b); } int main(void) { int abc; abc = sum(&test); printf("sum = %d ", abc); return 0; }