我是靠谱客的博主 友好鸡翅,最近开发中收集的这篇文章主要介绍数组传参C语言,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#include<stdio.h>
test1(int a[]){   //数组传参数组接收 
    int i=0;
    for(i=0;i<6;i++)
    printf("%d ",a[i]);
    printf("n");
}
 test2(int a[6]){
    int i=0;
    for(i=0;i<6;i++)
    printf("%d ",a[i]);
    printf("n");
}
test3(int *a){   //一维数组名相当于首元素的地址,可以用一级指针接收 
    int i=0;
    for(i=0;i<6;i++)
    printf("%d ",*(a+i));
    printf("n");
}
test4(int* b[]){
    int i=0;
    for(i=0;i<3;i++)
    printf("%d ",*b[i]);
    printf("n");
}
test5(int* b[3]){
    int i=0;
    for(i=0;i<3;i++)
    printf("%d ",*b[i]);
    printf("n");
}
test6(int* *b){  //一维数组名是首元素地址,解引用后是元素x,y,z的地址 ,所以是二级指针 
    int i=0;
    for(i=0;i<3;i++)
    printf("%d ",*(*(b+i)));
    printf("n");
}
test7(int (*c)[3]){        //数组名是首元素的地址,相当于把a[0]={1,2,3}的地址传过来了,即&a,所以用数组指针接收,int(*)[3]用于接收用于存储三个整形元素的数组的地址 
    int i=0,j=0;
    for(i=0;i<2;i++)
        for(j=0;j<3;j++)
        printf("%d",*(*(c+i)+j));
        printf("哈哈n");
    
}
test8(int c[2][3]){        //数组名是首元素的地址,相当于把a[0]={1,2,3}的地址传过来了,即&a,所以用数组指针接收,int(*)[3]用于接收用于存储三个整形元素的数组的地址 
    int i=0,j=0;
    for(i=0;i<2;i++)
        for(j=0;j<3;j++)
        printf("%d",*(*(c+i)+j));
        printf("哈哈n");
}
test9(int c[][3]){        //数组名是首元素的地址,相当于把a[0]={1,2,3}的地址传过来了,即&a,所以用数组指针接收,int(*)[3]用于接收用于存储三个整形元素的数组的地址 
    int i=0,j=0;
    for(i=0;i<2;i++)
        for(j=0;j<3;j++)
        printf("%d",*(*(c+i)+j));
        printf("哈哈n");
    
}
test10(int *c[][2]){
    int i=0,j=0;
    for(i=0;i<1;i++)
        for(j=0;j<2;j++)
        printf("%d",*(*(*(c+i)+j)));
        printf("呵呵n");
}
test11(int* (*c)[2]){
    int i=0,j=0;
    for(i=0;i<1;i++)
        for(j=0;j<2;j++)
        printf("%d",*(*(*(c+i)+j)));
        printf("呵呵n");
}

int main(){
    //一维整形数组传参 
    int a[6]={1,2,3,4,5,6};
    test1(a);
    test2(a);
    test3(a);
    //一维指针数组传参 
    int x=1,y=2,z=3;
    int* b[3]={&x,&y,&z};  
    test4(b); 
    test5(b);     
    test6(b);  
    //二维整形数组传参
    int c[2][3]={1,2,3,4,5,6};
    test7(c);
    test8(c);
     test9(c);
      //二维指针数组传参
      int g=1,h=2;
      int* d[1][2]={&g,&h};
     test10(d);
    test11(d);
    return 0;
}

最后

以上就是友好鸡翅为你收集整理的数组传参C语言的全部内容,希望文章能够帮你解决数组传参C语言所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(51)

评论列表共有 0 条评论

立即
投稿
返回
顶部