跳到主要内容

函数声明

go、c 函数传参都是值引用。

go

func add(x,y int32) int32{
return x+y
}
// 这两个方法的声明方式等效。
func f(i,j,k int, s,t string)

func f(i int,j int,k int,s string, t string)

c

C 语言标准规定,函数只能声明在源码文件的顶层,不能声明在其他函数内部。

int plus_one(int n){
return n + 1;
}

int a = plus_one(13);

解释下 int (*myfunc)(int)

(*myfunc) * 在括号里面,表示 myfunc 是一个函数指针 (int) 接在一个函数指针后面,表示这个参数需要接受一个 int 类型的参数。 整体就是,myfunc 是一个指向函数的指针,接受一个 int 类型的参数,返回一个 int 类型的值。

void print(int a) {
printf("%d\n", a);
}

void (*print_ptr)(int) = &print;