首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >C语言的函数返回值是什么?

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

作者头像
云深无际
发布于 2025-01-07 08:19:07
发布于 2025-01-07 08:19:07
1.1K0
举报
文章被收录于专栏:云深之无迹云深之无迹

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

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

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

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

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

这样的

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

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

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

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

代码语言:javascript
复制
enum Status { SUCCESS, FAILURE };

enum Status performTask() {
    return SUCCESS;
}

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

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

就是这样

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

代码语言:javascript
复制
void* allocateMemory(size_t size) {
    return malloc(size);
}

还可以是指针类型

  1. 指向变量的指针: 返回变量的内存地址。
  2. 指向数组的指针: 返回数组的首元素地址。
  3. 指向函数的指针: 返回函数的入口地址。

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

代码语言:javascript
复制
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 修饰的值或指针,表示返回值不可修改。

代码语言:javascript
复制
const char* getMessage() {
    return "Hello, World!";
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-01-05,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档