学c必须要学习编译器原理……在函数传参中,如果传递一个结构体,计算机会把这个结构体复制一份出来,作为参数传过去。首先,这样效率非常低。速度慢。其次因为是复制体,在函数中修改了这个结构体的值,你修改的是复制体,而不是原本的结构体。原结构体里面属性的值是不会变化的。传递指针的话,复制体是指针本身,但是指向同一块内存。复制体只有4个字节,速度快。修改指针指向的结构体内存里的属性的值,就是真的修改了。
输入变量的名字,系统也会把变量的名字转换为变量在内存的地址。最终都是通过地址进行访问。