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

二维数组作为参数传递相关推荐

  1. 关于二维数组作为参数传递给函数的问题

    刚碰到要写一个函数func,要传入一个二维数组给该函数,于是写成func(int a[][]);但马上又发现将二维数组传给函数时必须指定第二维的维数,因为函数传递的是一个指向一个一维数组的指针,这个一 ...

  2. 二维数组作为参数传递问题

    int a[2][2]={ {4, 6}, {9, 11} }; 我定义了这样一个数组,我想把这个数组作为参数,传递到一个函数中,并要在函数中能引用该二维数组的元素,我该怎么做? 第一种方式是直接传递 ...

  3. c语言二维数组参数传入,C语言二维数组、参数传递的理解

    首先定义一个数组:a[3][4] = { 1,3,5,7,9,11,13,15,17,19,21,23 }; #define _CRT_SECURE_NO_WARNINGS #include #inc ...

  4. C语言二维数组、参数传递的理解

    首先定义一个数组:a[3][4] = { 1,3,5,7,9,11,13,15,17,19,21,23 }; #define _CRT_SECURE_NO_WARNINGS #include < ...

  5. java 二维数组作为参数传递_java JNI 二维数组作为方法参数传递给本地

    java里面有如下本地定义: private static native int setFilter(final int fd, final int[][] array_filter); c++中对应 ...

  6. 如何将二维数组作为函数的参数传递

    如何将二维数组作为函数的参数传递 声明: 如果你是得道的大侠,这篇文章可能浪费你的时间,如果你坚持要看,我当然感觉很高 兴,但是希望你看完了别骂我!如果你发现我这篇文章有错误的话,你可以提出批评以及 ...

  7. 【C++基础学习】二维数组的动态分配及参数传递

    1. C语言动态分配二维数组 (1)已知第二维 char (*a)[N];//指向数组的指针a = (char (*)[N])malloc(sizeof(char *) * m); printf(&q ...

  8. [原创]二维数组的动态分配及参数传递

    1. C语言动态分配二维数组 (1)已知第二维 Code-1 char (*a)[N];//指向数组的指针 a = (char (*)[N])malloc(sizeof(char *) * m); p ...

  9. 二维数组作为形参的参数传递问题[08-0704]-转

    2008-07-04 19:06 以下是网上摘抄的一段: 首先,我引用了谭浩强先生编著的<C程序设计>上面的一节原文,它简要介绍了如何将二维数组作为参数传递,原文如下(略有改变,请原谅): ...

最新文章

  1. 字符串子串去重之后的个数
  2. QCustomPlot实现实时动态曲线(包含手动设置XY轴显示的方法)
  3. [codevs 1033] 蚯蚓的游戏问题
  4. micropython函数库下载_Python microfs包_程序模块 - PyPI - Python中文网
  5. 使用Github(创建仓库、仓库主页说明)
  6. 软件项目管理课后题下载【共5个章(1、3、4、5、6)】
  7. Java 8 Lambda表达式的函数式编程– Monads
  8. Socket编程实践(8) --Select-I/O复用
  9. Hive分桶(bucket)
  10. Oracle中CHAR类型不足位数时,用空格自动补足位数
  11. Python图片攻击
  12. 如何避免可怕的中年危机?看完这篇彻底明白了
  13. c语言喂狗的作用,兽医忠告:用这几样食物喂狗,简直就是喂“砒霜”!
  14. Python字符串format_map()
  15. Carrot2 2.0版中有 Aduna ClusterMap
  16. delphi android 2017,Delphi春天将来临,Android遇到XE7我也是醉了,Hello World
  17. Revit各专业协同工作—链接与工作集
  18. cmd显示服务器对区域没有权威,查询dns解析服务器地址cmd命令
  19. HDU 6608 [2019 Multi-University Training Contest 3]
  20. adb 前摄像头 调用_android: 调用摄像头拍照

热门文章

  1. [51单片机] 从业将近十年!手把手教你单片机程序框架(连载)(转载)
  2. Skipping MapperFactoryBean with name ‘xxx‘ and ‘xxx‘. Bean already defined with the same name’警告
  3. 前端页面中根据链接随机生成二维码
  4. ip-guard如果服务器 IP 地址或机器名变更之后对客户端或控制台会有影响吗?
  5. css强制换行和超出隐藏实现(单行和多行)
  6. Go简明语法汇总--入门
  7. 微软常用运行库合集(3264位)
  8. 2015秋招经历和总结
  9. 2、深入HTTP请求流程
  10. python爬取豆瓣读书_用python+selenium抓取豆瓣读书中最受关注图书并按照评分排序...