C语言14-指针4-二维数组传参、指针数组传参、viod*指针

**摘要:**本文介绍了二维数组和指针数组的传参方法。对于二维整型数组,可通过指针形式传递并操作(如int (p)3);字符型二维数组类似,使用char (p)32形式。指针数组传参需用二级指针char。void*指针可保存任意类型地址,无需强制转换即可赋给特定类型指针,常用于统一函数参数和返回值类型。文中提供了数组接收、打印的示例代码。

一、二维数组传参

(一)二维整型数组传参

1、基本形式

int a23 ={1,2,3,4,5,6};

fun (a,2); //主函数调用数组形式

int fun (int (*p)3,int len); //函数体使用定义形式

scanf("scanf'',&pji); //在函数利用循环接收

printf("a%d%d=%d\n",j,i,pji); //在函数利用循环打印

2、示例:从终端接收二维数组并打印结果

数组传递到函数体内部与外部操作的是同一数组,外部怎么用内部就怎么用

(二)二维字符型型数组传参

1、基本形式

char str53 ={"hello","world","how","are","you"};

fun(str,5); //主函数调用数组形式

char fun(char (*p)32,int len); //函数体使用定义形式

gets(pi); //在函数利用循环接收

printf("%s\n",pi); //在函数利用循环打印

2、示例:

二、指针数组传参

1、基本形式:

char *pstr5 = {NULL};

fun(pstr,5); //主函数调用数组形式

int fun(char **ppstr,int len); //函数体使用定义形式

gets(pstri); //在函数利用循环接收

printf("%s\n",ppstri); //在函数利用循环打印

2、示例:

三、void *指针

1、void *指针主要用来保存内存地址

2、void* 转换为char *、int *、double * 类型时,不需要类型转换,直接赋值就行

3、char *、int *、double *转换为void *类型时,需要强制类型转换

4、void *多用于函数参数和返回值,统一参数和返回值类型

相关推荐
2501_941875288 小时前
从配置中心到动态管理的互联网工程语法演进与多语言实践分享
开发语言·python
辰烨chenye8 小时前
LeetCode Hot 100 题解 · 普通数组篇
算法·leetcode·职场和发展
hfywmsj8 小时前
广州餐饮铺位招租决策模型:多因子选址系统设计
开发语言·人工智能·python·广州餐饮铺位招租
努力的lpp10 小时前
php反序列化一(大白话版)
开发语言·web安全·php·ctf·反序列化
菜鸟~noob23310 小时前
【电子战】第03篇:CFAR(恒虚警)处理【含matlab代码】
开发语言·matlab
泡海椒11 小时前
内置SPI函数库详解:JQuick-Java Builtin工具类实战用法
java·开发语言·python
hqyjzsb11 小时前
零 AI 项目经验,学 Python 转型 AI 的正确顺序是什么?
开发语言·人工智能·python·算法·职场和发展·数据挖掘·数据分析
辰烨chenye11 小时前
LeetCode Hot 100 题解 · 二分篇
java·算法·leetcode
微功夫信息技术11 小时前
分层多智能体强化学习驱动的非急救转运公平 - 效率统一调度系统研究与实践
人工智能·学习·算法·动态规划
T1mzhou12 小时前
ARM64 Linux 6.10内核启动流程7-ioremap和readl writel
linux·服务器·c语言