C语言的函数返回值是什么?

乐活   2025-01-05 11:25   内蒙古  

这两天又把C和CPP拉出来写程序了,大一学的吧?可能更早,现在对计算机的理解比以前深刻不少,现在再试图把一些疑惑的东西写一写。毕竟精通C语言,百利而无一害。

C语言难学在哪里?我觉得就是因为它是第一门语言而已。。。莫名其妙的背了这个黑锅,不过这个变量每次声明我也挺想死的。其次就是对底层的结构不熟悉,比如这个指针,到底是什么,为什么那么花里胡哨的。可能在我的文中有答案,也有可能没有。

花了两个小时看了一下这本书,记录了一些日常使用的难点

这个是第三版,没看最新的。。。

平时函数int,void见多了吧?怼个枚举呢?

这样的

函数执行结束后返回给调用者的一个值。这个返回值可以是任何合法的C语言数据类型。

上面返回的是;自定义数据类型

  1. 结构体: 可以返回一个结构体类型的变量,用于封装多个相关的数据。
  2. 联合体: 可以返回一个联合体类型的变量,用于在同一内存位置存储不同类型的数据。
  3. 枚举类型: 可以返回一个枚举类型的变量,表示一组有限的常量值。

函数可以返回一个枚举类型,表示状态或选项。

enum Status { SUCCESS, FAILURE };
enum Status performTask() { return SUCCESS;}

返回值类型必须在函数定义时声明: 编译器根据返回值类型来分配内存和进行类型检查。

这个函数返回的是SET或者RESET

就是这样

函数可以返回 void* 指针,用于通用指针类型,常见于动态内存分配或通用数据处理。

void* allocateMemory(size_t size) {    return malloc(size);}
还可以是指针类型
  1. 指向变量的指针: 返回变量的内存地址。
  2. 指向数组的指针: 返回数组的首元素地址。
  3. 指向函数的指针: 返回函数的入口地址。

函数可以返回另一个函数的指针,用于回调或动态绑定函数。

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!";}

云深之无迹
纵是相见,亦如不见,潇湘泪雨,执念何苦。
 最新文章