1,两种传递方式:
值传递
引用传递(传递指针,地址)
2,其实,不管是值传递还是引用传递,传递给函数的都是变量的副本,不同的是,值传递的是值的拷贝,引用传递的是地址的拷贝,一般来说,地址拷贝效率高,因为数据量小,而值拷贝决定拷贝的数据大小,数据越大,效率越低
3,值传递,变量直接存储值,内存通常在栈中分配,
默认是值传递的数据类型有:基本数据类型,结构体,共用体,枚举类型
4,引用传递,变量存储的是一个地址,这个地址对应的空间才真正存储数据(值)
默认是引用传递的数据类型有:指针和数组
5,如果希望函数内的变量能修改函数外的变量,可以传入变量的地址&,函数内以指针的方式操作变量(*指针),从效果上看类似引用,比如修改结构体的属性。
原文:https://www.cnblogs.com/shanlu0000/p/12349222.html