二维数组作为参数传递
1.在函数中传递二维数组,可以用指针的形式,也可用数组的形式,但是一定要每一行的长度(也就是列的个数)
例如:int function(char (*p)[10])或者 int function(char arr[3][10])
如果不定义行的长度,就无法知道什么时候进入下一行
2.对二维数据赋值字符串时,可以在初始化时赋值,也可以在利用strcpy
1 #include <stdio.h>2 #include <string.h>3 4 int function(char (*p)[10]) /*第一种传递方式,使用指针的形式,不是直接使用**p这种模式*/5 { 6 int i=0; 7 for(i=0; i<3; i++)8 { 9 strcpy(*p, "hello11");/*对数组每一行进行赋值*/10 p=p+1;/*二级指针加1,指向下一行*/11 }12 p=p-3;/*指针回复到最开始的位置*/13 for(i=0; i<3; i++)14 { 15 printf("p = %s\n", *(p+i));16 }17 return 1;18 }19 20 /*21 int function(char arr[3][10])/*第二种传递方式*/22 {23 int i=0;24 for(i=0; i<3; i++)25 {26 strcpy(arr[0], "hello");27 strcpy(arr[1], "asdd");28 strcpy(arr[2], "word");29 }30 for(i=0; i<3; i++)31 {32 printf("p = %s\n", arr[i]);33 }34 return 1;35 }*/36 int main(void)37 {38 int ret = 0;39 int i;40 char arr[3][10] = {0};/*二维数据组初始化*/41 char *str1="kayshi";42 char *str2;43 str2=str1;44 ret = function(arr);/*函数传递二维数组*/45 for(i=0; i<3; i++)46 {47 printf("%s\n",arr[i]);48 }49 printf("str1:%s\n", str1);50 printf("str2:%s\n", str2);51 return 0;52 }
p = hello11
p = hello11
p = hello11
hello11
hello11
hello11
str1:kayshi
str2:kayshi
二维数组作为参数传递相关推荐
- 关于二维数组作为参数传递给函数的问题
刚碰到要写一个函数func,要传入一个二维数组给该函数,于是写成func(int a[][]);但马上又发现将二维数组传给函数时必须指定第二维的维数,因为函数传递的是一个指向一个一维数组的指针,这个一 ...
- 二维数组作为参数传递问题
int a[2][2]={ {4, 6}, {9, 11} }; 我定义了这样一个数组,我想把这个数组作为参数,传递到一个函数中,并要在函数中能引用该二维数组的元素,我该怎么做? 第一种方式是直接传递 ...
- c语言二维数组参数传入,C语言二维数组、参数传递的理解
首先定义一个数组:a[3][4] = { 1,3,5,7,9,11,13,15,17,19,21,23 }; #define _CRT_SECURE_NO_WARNINGS #include #inc ...
- C语言二维数组、参数传递的理解
首先定义一个数组:a[3][4] = { 1,3,5,7,9,11,13,15,17,19,21,23 }; #define _CRT_SECURE_NO_WARNINGS #include < ...
- java 二维数组作为参数传递_java JNI 二维数组作为方法参数传递给本地
java里面有如下本地定义: private static native int setFilter(final int fd, final int[][] array_filter); c++中对应 ...
- 如何将二维数组作为函数的参数传递
如何将二维数组作为函数的参数传递 声明: 如果你是得道的大侠,这篇文章可能浪费你的时间,如果你坚持要看,我当然感觉很高 兴,但是希望你看完了别骂我!如果你发现我这篇文章有错误的话,你可以提出批评以及 ...
- 【C++基础学习】二维数组的动态分配及参数传递
1. C语言动态分配二维数组 (1)已知第二维 char (*a)[N];//指向数组的指针a = (char (*)[N])malloc(sizeof(char *) * m); printf(&q ...
- [原创]二维数组的动态分配及参数传递
1. C语言动态分配二维数组 (1)已知第二维 Code-1 char (*a)[N];//指向数组的指针 a = (char (*)[N])malloc(sizeof(char *) * m); p ...
- 二维数组作为形参的参数传递问题[08-0704]-转
2008-07-04 19:06 以下是网上摘抄的一段: 首先,我引用了谭浩强先生编著的<C程序设计>上面的一节原文,它简要介绍了如何将二维数组作为参数传递,原文如下(略有改变,请原谅): ...
最新文章
- 字符串子串去重之后的个数
- QCustomPlot实现实时动态曲线(包含手动设置XY轴显示的方法)
- [codevs 1033] 蚯蚓的游戏问题
- micropython函数库下载_Python microfs包_程序模块 - PyPI - Python中文网
- 使用Github(创建仓库、仓库主页说明)
- 软件项目管理课后题下载【共5个章(1、3、4、5、6)】
- Java 8 Lambda表达式的函数式编程– Monads
- Socket编程实践(8) --Select-I/O复用
- Hive分桶(bucket)
- Oracle中CHAR类型不足位数时,用空格自动补足位数
- Python图片攻击
- 如何避免可怕的中年危机?看完这篇彻底明白了
- c语言喂狗的作用,兽医忠告:用这几样食物喂狗,简直就是喂“砒霜”!
- Python字符串format_map()
- Carrot2 2.0版中有 Aduna ClusterMap
- delphi android 2017,Delphi春天将来临,Android遇到XE7我也是醉了,Hello World
- Revit各专业协同工作—链接与工作集
- cmd显示服务器对区域没有权威,查询dns解析服务器地址cmd命令
- HDU 6608 [2019 Multi-University Training Contest 3]
- adb 前摄像头 调用_android: 调用摄像头拍照
热门文章
- [51单片机] 从业将近十年!手把手教你单片机程序框架(连载)(转载)
- Skipping MapperFactoryBean with name ‘xxx‘ and ‘xxx‘. Bean already defined with the same name’警告
- 前端页面中根据链接随机生成二维码
- ip-guard如果服务器 IP 地址或机器名变更之后对客户端或控制台会有影响吗?
- css强制换行和超出隐藏实现(单行和多行)
- Go简明语法汇总--入门
- 微软常用运行库合集(3264位)
- 2015秋招经历和总结
- 2、深入HTTP请求流程
- python爬取豆瓣读书_用python+selenium抓取豆瓣读书中最受关注图书并按照评分排序...