1.有参有返回值函数的使用 示例1: package main //必须 import "fmt" //go官方推荐写法 func MaxAndMin(a, b int) (max, min int) { if a > b { max = a min = b } else { max = b min = a } return //有返回值的函数,必须通过return返回 } func main() { max, min := MaxAndMin(10, 20) fmt.Print
1.函数只有一个返回值 示例1: package main //必须有一个main包 import "fmt" func myfunc01() int { return 666 } func main() { var a int a = myfunc01() fmt.Println("a = ", a) b := myfunc01() fmt.Println("b = ", b) } 执行结果: a = 666 b = 666 示例2: pack
readdir函数: struct dirent *readdir(DIR *dirp); The data returned by readdir() may be overwritten by subsequent calls to readdir() for the same directory stream. 成功时,readdir() 返回指向 dirent 结构的指针.(这个结构是静态分配的:不要试图去free(3) 它.)如果到达了上当结尾,NULL 被返回并保持ERRNO不变
这段时间在看 Linux 内核,深觉 C 语言功底不扎实,很多代码都看不太懂,深入学习巩固 C 语言的知识很有必要.先从指针开始. 一.什么是指针 C语言里,变量存放在内存中,而内存其实就是一组有序字节组成的数组,每个字节有唯一的内存地址.CPU 通过内存寻址对存储在内存中的某个指定数据对象的地址进行定位.这里,数据对象是指存储在内存中的一个指定数据类型的数值或字符串,它们都有一个自己的地址,而指针便是保存这个地址的变量.也就是说:指针是一种保存变量地址的变量. 前面已经提到内存其实就是一组有序