C语言如何将指针数组作为函教的参教?

一、问题

        如何将指针数组作为函数的参数呢?

二、解答

        使⽤字符指针作为函数的参数传递字符串,⼀般传递的只是⼀个字符串,如何传递多个字符串呢?有⼈会想到⼆维数组,但是⼆维数组存储多字符串太浪费存储空间,所以还是使⽤指针数组⽐较好,那么如何使⽤呢,下⾯给出⼀个实例。

char *day_name(char *name[], int n)
{
    char *p1, *p2;
    p1 = *name;
    p2 = *(name + n);
    return ((n < 1 || n > 7) ? p1 : p2);
}
int main()
{
    static char *day[] = {"no day", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
    char *p;
    int i;
    char *day_name(char *day[], int n);
    printf("输入星期数:\n");
    scanf("%d", &i);
    if (i < 0)
    {
        exit(1);
    }
    ps = day_name(day, i);
    printf("星期数对应的英文写法:%2d-->%s\n", i, p);
}

        实例程序主函数中定义了⼀个指针数组 day,并对 day 作了初始化赋值。其每个元素都指向⼀个字符串。然后又以 day 作为实参调⽤指针型函数 day_name,在调⽤时把数组名 day 赋予形参变量 day,输⼊的整数i作为第⼆个实参赋予形参 n 。在 day_name 函数中定义了两个指针变量p1 和 p2,p1 被赋⼦ day[0] 的值(即*day) ,p2 被赋予 day[n] 的值即 *(day+n)。由条件表达式决定返回 p1 或 p2 指针给主函数中的指针变量 p,最后输出 i 和 p 的值。

三、总结

        节约存储空间是衡量⼀个程序的标准之⼀,尤其对于⼀些⽤户量⼤的程序,⼀个⽤户的少量浪费都将是整个系统最⼤的损失。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/580159.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

BootStrap详解

Bootstrap简介 什么是BootStrap&#xff1f; BootStrap来自Twitter&#xff0c;是目前最受欢迎的响应式前端框Bootstrap是基于HTML、CSS、JavaScript的&#xff0c;它简洁灵活&#xff0c;使得Web开发更加快捷 为什么使用Bootstrap&#xff1f; 移动设备优先&#xff1a;自…

python学习笔记----判断语句(三)

一、布尔类型和比较运算符 1.1 布尔类型的字面量&#xff1a; True 表示真False 表示假 定义变量存储布尔类型数据&#xff1a; 变量名 布尔类型字面量 bool_1 True bool_2 False1.2 比较运算符 二、 if语句的基本格式 if 要判断的条件:条件成立时&#xff0c;要做的事…

【3GPP IAB】 3GPP支持IAB架构概述

1 概述 IAB用于回传链路的无线传输&#xff0c;对于NR高频尤其重要&#xff0c;3GPP协议讨论了IAB的可能架构和部署方式&#xff0c;一起来看看吧。 2 IAB 功能和接口 IAB尽量重用为接入定义的现有功能和接口。特别是&#xff0c;移动终端(MT)、gNB- DU、gNB- CU、UPF、AMF和S…

DFR初识

【0】前言 【1】什么Web的开发模式 web开发模式 目前主流的web开发模式有两种&#xff1a; 基于服务端渲染的传统web开发模式 - -前后端混合&#xff1a;BBS项目&#xff0c;图书管理系统-模板语言&#xff1a;dtl-flask&#xff0c;fastapi-go gin-vue&#xff0c;react-微信…

Stylus 精讲:掌握这款 CSS 预处理器,让你的样式编写提升到新境界!

Stylus 是一种先进的 CSS 预处理器&#xff0c;它允许你使用更加强大和优雅的方式来编写 CSS。Stylus 拥有很多现代语言所具有的特性&#xff0c;如混合&#xff08;Mixins&#xff09;、函数、条件语句等&#xff0c;这些特性使得 CSS 的编写变得更加灵活和高效。Stylus 还支持…

如何用OceanBase的 Load Data 导入CSV文件

0 前言 CSV文件&#xff08;Comma-Separated Values&#xff0c;字符分隔值&#xff09;是一种普遍采用的数据存储格式&#xff0c;有不少企业和机构都用它来进行数据的管理和存储。身为开发者&#xff0c;您可能经常遇到这样的需求&#xff1a;需要将CSV的数据导入OceanBase数…

信创需求激增,国产服务器操作系统赋能数字化转型

信创&#xff0c;即信息技术应用创新&#xff0c;是指在关键领域和环节推进信息技术的自主创新&#xff0c;构建安全可控的信息技术体系。随着数字化转型的加速&#xff0c;信创需求激增&#xff0c;国产服务器操作系统在其中扮演着至关重要的角色。国产服务器操作系统如何赋能…

使用Pandas从Excel文件中提取满足条件的数据并生成新的文件

目录 一、引言 二、环境准备 三、读取Excel文件 四、数据筛选 五、保存为新的Excel文件 六、案例与代码总结 七、进阶用法与注意事项 八、结语 在数据处理的日常工作中&#xff0c;我们经常需要从大量数据中筛选出满足特定条件的数据集。Pandas是一个强大的Python数据分…

LeetCode题练习与总结:单词搜索--79

一、题目描述 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 单词必须按照字母顺序&#xff0c;通过相邻的单元格内的字母构成&#xff0c;其中“相邻”单元格是那些水…

Airmail 5 for Mac:高效电子邮件管理软件

Airmail 5 for Mac作为一款功能强大的电子邮件客户端软件&#xff0c;为Mac用户带来了全新的邮件管理体验。其高效、直观的操作界面&#xff0c;使得用户可以轻松管理各类邮件&#xff0c;提升工作效率。 Airmail 5 for Mac v5.7.4中文激活版 首先&#xff0c;Airmail 5支持多个…

二叉搜索树(Binary_Search_Tree)

文章目录 二叉搜索树概念二叉搜索树的操作查找插入删除 二叉搜索树的应用二叉搜索树的实现K模型KV模型 二叉搜索树的性能分析 二叉搜索树概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树&#xff1a; 若它的左子树不为空&a…

计算机网络面试高频:输入域名会发生那些操作,开放性回答

更多大厂面试内容可见 -> http://11come.cn 计算机网络面试高频&#xff1a;输入域名会发生那些操作&#xff0c;开放性回答 输入域名之后&#xff0c;会发生哪些操作&#xff1f; 当在浏览器中输入www.baidu.com并按下回车键时&#xff0c;会触发一系列复杂的网络过程&am…

MMSeg搭建自己的网络

配置结构 首先&#xff0c;我们知道MMSeg矿机的配置文件很多&#xff0c;主要结构如下图所示。 在configs/_base_下是模型配置、数据集配置、以及一些其他的常规配置和运行配置&#xff0c;四类。 configs/all_config目录下存放&#xff0c;即是将四种配置聚合在一起的一个总…

互联网的下个风口可能是供应链和B2B行业的创新

6年前我写过一篇文章叫做《所有B2B从业者都会遇到的9个问题》&#xff0c;这篇文章也同步发布在了我的知乎以及CSDN博客上面。几个平台陆续有读者通过私信和留言向我咨询一些问题&#xff0c;刚好这2年我对B2B又有了一些新的思考&#xff0c;于是就针对前些年的那篇文章做一些补…

ubuntu22.04安装TensorRT(过程记录)

重要说明&#xff1a;此贴经过多次修改。第一次安装的的为trt8.6.1版本。第二次安装的10.0.0.6版本。有些地方可能没改过来&#xff0c;比如链接向导&#xff0c;我懒得改了&#xff0c;但是流程是对的。 cuda和cudnn版本对应关系 tensorRT历史发行版本 CUDA历史发行版本 cudn…

【Linux】make 和 makefile

进度条 #pragma once#include <stdio.h>#define NUM 102 #define BODY #define TOP 100 #define RIGHT >extern void processbar(int rate);#include "processBar.h" #include <string.h> #include <unistd.h>const char lable[] "|/-\…

【限时免费】Adobe全家桶免费领取 一键安装,永久使用 全家桶大礼包破解直装版 2020-2024 设计师御用超全软件 值得收藏

一次购买&#xff0c;终生使用&#xff01;正版永久激活&#xff0c;免费一键安装&#xff0c;赠送学习视频教程&#xff0c;支持远程安装&#xff0c;安装失败&#xff0c;立即退款。无需付费&#xff0c;直接免费送&#xff01; Adobe全家桶&#xff08;Adobe Creative Clou…

【Canvas与艺术】绘制美国星条旗

【成图】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>使用HTML5/Canvas绘制美国星条旗</title><style type"…

舌头分割YOLOV8-SEG

舌头分割&#xff0c;基于YOLOV8-SEG&#xff0c;训练得到PT模型&#xff0c;然后转换成ONNX&#xff0c;OPENCV的DNN调用&#xff0c;从而摆脱YOLO依赖&#xff0c;支持C,PYTHON,ANDROID开发 舌头分割YOLOV8-SEG

Gromacs——教程学习(1)

分子动力学模拟&#xff08;Molecular Dynamics&#xff09;全流程 所有的xvg格式文件&#xff0c;都可以使用大神编写的python DuIvyTools脚本可视化&#xff0c;很方便&#xff0c;只要你的电脑配置了python或者anaconda或者miniconda pip install DuIvyToolsdit xvg_show -…
最新文章