zoukankan      html  css  js  c++  java
  • C语言函数二维数组传递方法

    方法一:形参给出第二维的长度。

    例如:

    #include<stdio.h>
    #include
    <math.h>
    #include
    <ctype.h>
    #include
    <string.h>
    #include
    <stdlib.h>


    void func(int n,char str[][5]){
        
    int i;
        
    for(i=0; i<n; i++)
          printf(
    "\nstr[%d]=%s\n",i,str[i]);
        }

    int main()
    {
      
    char* p[3];
      
    char str[][5]={"abc","def","ghi"};
      func(
    3,str);
      
    return 0;

    }

     方法二:形参声明为指向数组的指针。

    例如:

     #include<stdio.h>

    #include<math.h>
    #include
    <ctype.h>
    #include
    <string.h>
    #include
    <stdlib.h>
    void func(int n,char (*str)[5]){
        
    int i;
        
    for(i=0; i<n; i++)
          printf(
    "\nstr[%d]=%s\n",i,str[i]);
        }
    int main()
    {
      
    char* p[3];
      
    char str[][5]={"abc","def","ghi"};
      func(
    3,str);
      
    return 0;
    }

    方法三:形参声明为指针的指针。

    例如:

     #include<stdio.h>

    #include<math.h>
    #include
    <ctype.h>
    #include
    <string.h>
    #include
    <stdlib.h>
    void func(int n,char **str){
        
    int i;
        
    for(i=0; i<n; i++)
          printf(
    "\nstr[%d]=%s\n",i,str[i]);
        }

    int main()
    {
      
    char* p[3];
      
    char str[][5]={"abc","def","ghi"};
      p[
    0]=&str[0][0];
      p[
    1]=str[1];
      p[
    2]=str[2];
      func(
    3,p);
      
    return 0;
    }
  • 相关阅读:
    为何与0xff进行与运算
    智能指针学习笔记
    linux下多线程编程
    redis源码分析之内存布局
    spring
    java
    程序员进修之路
    散列类型(hash)
    字符串类型
    Jmeter使用Websocket插件测试SingalR,外加还有阿里云PTS的Jmeter原生测试爬坑日志。
  • 原文地址:https://www.cnblogs.com/xueda120/p/3068195.html
Copyright © 2011-2022 走看看