当前位置: 首页 > article >正文

【C语言基础】函数的参数是指针

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处

文章目录


当函数的参数是指针时,这意味着函数将接受一个指向某个数据类型的内存地址,而不是直接接收该数据的值。通过传递指针作为参数,函数可以直接访问和修改被指针引用的数据。

例如,考虑以下示例代码:

#include <stdio.h>

void modifyValue(int *ptr) {
    *ptr = 10; // 修改指针所指向的变量的值
}

int main() {
    int num = 5;
    printf("Before modification: %d\n", num);
    
    modifyValue(&num); // 将变量 `num` 的地址传递给函数
    
    printf("After modification: %d\n", num);
    
    return 0;
}

在这里插入图片描述

在上述示例中,我们定义了一个函数 modifyValue,它接受一个整数指针作为参数 ptr。在函数内部,我们使用解引用操作符 * 来修改指针所指向的变量的值。

main 函数中,我们声明了一个整数变量 num 并初始化为 5。然后,我们调用 modifyValue 函数并将 &num 作为参数传递,其中 & 运算符用于获取变量 num 的地址。

当函数执行时,指针 ptr 将指向变量 num 的地址,并通过解引用操作符 * 修改了 num 的值。因此,在函数结束后,num 的值变为 10,并在 main 函数中打印输出。

通过传递指针作为函数参数,我们可以避免复制数据的开销,并且函数能够直接对原始数据进行修改。这在需要在函数中修改变量的值或者在函数间传递大型数据结构时非常有用。
在这里插入图片描述


http://www.kler.cn/a/103653.html

相关文章:

  • pynvml.nvml.NVMLError_FunctionNotFound: Function Not Found
  • Python中文分词、词频统计并制作词云图
  • Rust所有权
  • 【CSS】常见 CSS 布局
  • NFS性能瓶颈分析
  • Linux简单安装ffmpeg 实现用PHP压缩音频
  • 使用jdbc技术连接数据库
  • 2023中国物流系统集成商百强榜研究报告(附下载)
  • 论文-分布式-并发控制-Lamport逻辑时钟
  • 深度学习使用Keras进行迁移学习提升网络性能
  • Linux 内核定时器(高级字符设备五)
  • 【STM32】标准库的引入
  • 网站、小程序常见布局样式记录
  • ESP32网络开发实例-使用NTP获取当前时间
  • C# 串口通信简单示例
  • Linux友人帐之日志与备份
  • 《动手学深度学习 Pytorch版》 10.2 注意力汇聚:Nadaraya-Watson 核回归
  • python集合
  • CentOS 系统安装和使用Docker服务
  • 【单元测试】--维护和改进单元测试