Linux C语言进阶-D12~D13函数的基本用法及传参

2023-11-03 22:20

本文主要是介绍Linux C语言进阶-D12~D13函数的基本用法及传参,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 函数的说明:double power(double x,int n)

        函数必须先说明再调用,并且x,n可省略

引入头文件作用:头文件中有函数声明和函数实现,预处理就是头文件展开

定义求x的n次方的函数(x:实数,n:正整数)

double power(double x,int n) {

}

函数传参

方式:

        全局变量:函数体外说明的变量,在程序中的每个函数里都可见。不建议使用

        值传递方式:形参的改变不影响实参

        指针传递方式:实参为变量的地址,形参是同类型的指针;

                利用指针对地址中的数据进行改变

编写一个函数,统计字符串中小写字母个数,并将其转换为大写字母

首先实现小写字母统计:

将小写字母转成大写字母

数组和函数

        值传递:实参是数组的指针,形参是数组名(本质是指针)

        指针传递:实参是数组的指针,形参是同类型的指针变量

如果不是字符数组就是传数组名或指针和个数,如果是字符数组就是传数组名或指针

        下图中,求一个数组和,使用值传递,但是在函数实现中的参数中只传了一个数组形参,未传数组大小,此时在函数实现中,sizeof(data)/sizeof(int)中data本质是一个指针,sizeof(data)是4,而不是得到的像sizeof(a)的20

改正:

删除字符串中的空格

使用双指针,s1和s2,其中s1为快指针,主要是遍历,s2为慢指针,主要是替换

上一个传递的是int数组,而下图中是操作的字符数组,有删除操作,不需要传递数据长度(因为有\0)

 

这篇关于Linux C语言进阶-D12~D13函数的基本用法及传参的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/341250

相关文章

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.