结构体变量的传递机制是值传递,而非地址传递。 这一点跟数组的赋值不同,使用赋值运算符复制数组,不会复制数据,只是传递地址。
使用char *name;字符不可变性,无法修改-> 指向相同内存地址
函数传值:函数外向函数内传参传递的是副本,函数内更改不会修改函数外的值
函数传址:函数内修改函数外的也修改 例:
void getVolume(Box *b) {
b->volume = b->c * b->k * b->g;
}
结构体变量的传递机制是值传递,而非地址传递。 这一点跟数组的赋值不同,使用赋值运算符复制数组,不会复制数据,只是传递地址。
使用char *name;字符不可变性,无法修改-> 指向相同内存地址
函数传值:函数外向函数内传参传递的是副本,函数内更改不会修改函数外的值
函数传址:函数内修改函数外的也修改 例:
void getVolume(Box *b) {
b->volume = b->c * b->k * b->g;
}