版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014132659/article/details/70048614
typedef struct gpio { char *test; } gpio_t; 全部都是值传递 void func(char *test) { test = malloc(4); //这是局部变量的malloc,不会传出去 } void functest(char **test) { *test = malloc(4); //地址传递,这样就能传出去 } void funcfunc(char *test) { int i = 0; for( i = 0; i < 4; i++) { test[i] = i; } } int main() { gpio_t g; func(g.test); //值传递,错误 functest(&(g.test)); //地址传递,可以 g.test = malloc(5); funcfunc(g.test); //值传递,可以 }