额 这个问题
你要知道函数调用时是要保存一份参数副本在堆栈中
struct Node {int a[1000];int len;};
那么如果我有个很大的结构体 如果我写函数的时候 void fun(Node node);那么我在调用这个函数的
时候就会把int a[1000];int len;这两个东西全部复制一份压入堆栈 也就是要复制1000*4+4哥字节过去
但是如果写成这样呢void fun(Node *pnode);就只复制4个字节过去 但是不会耽误我去访问结构体里面的信息
如果对它进行修改那么由于没有保存副本 所以我修改的就是原来的内容
但是如果像上面那样我修改的就是
那个副本