所有的参数传递都是值传递
#include <stdio.h>
typedef char *String;
typedef String *STRING;
void change1(String);
void change2(STRING);
int main() {
char *name = "Hello world!";
puts(name);
change1(name);
puts(name);
change2(&name);
puts(name);
return 0;
}
//本质上是传的name的一份拷贝,下面的函数只是让这份拷贝指向了字符串常量!
void change1(String nick) {
nick = "Nihao";
}
//接受一个存储name指针的地址,我们根据这个地址访问到name的地址,并将其修改
void change2(STRING nick) {
*nick = "Ciao";
}
运行结果:
Hello world!
Hello world!
Ciao
未完待续。。。