这两天又把C和CPP拉出来写程序了,大一学的吧?可能更早,现在对计算机的理解比以前深刻不少,现在再试图把一些疑惑的东西写一写。毕竟精通C语言,百利而无一害。
C语言难学在哪里?我觉得就是因为它是第一门语言而已。。。莫名其妙的背了这个黑锅,不过这个变量每次声明我也挺想死的。其次就是对底层的结构不熟悉,比如这个指针,到底是什么,为什么那么花里胡哨的。可能在我的文中有答案,也有可能没有。
花了两个小时看了一下这本书,记录了一些日常使用的难点
这个是第三版,没看最新的。。。
平时函数int,void见多了吧?怼个枚举呢?
这样的
函数执行结束后返回给调用者的一个值。这个返回值可以是任何合法的C语言数据类型。
上面返回的是;自定义数据类型
函数可以返回一个枚举类型,表示状态或选项。
enum Status { SUCCESS, FAILURE };
enum Status performTask() {
return SUCCESS;
}
返回值类型必须在函数定义时声明: 编译器根据返回值类型来分配内存和进行类型检查。
这个函数返回的是SET或者RESET
就是这样
函数可以返回 void* 指针,用于通用指针类型,常见于动态内存分配或通用数据处理。
void* allocateMemory(size_t size) {
return malloc(size);
}
函数可以返回另一个函数的指针,用于回调或动态绑定函数。
typedef int (*operation)(int, int);
int add(int a, int b) { return a + b; }
int multiply(int a, int b) { return a * b; }
operation getOperation(char op) {
if (op == '+') return add;
if (op == '*') return multiply;
return NULL;
}
函数可以返回 const 修饰的值或指针,表示返回值不可修改。
const char* getMessage() {
return "Hello, World!";
}