数组作为函数参数传递

原创 2016年08月30日 20:26:22

重点:在C中,数组是不能作为参数进行传递的,但是可以通过传递指向数组初始元素的指针,使得在函数内部操作数组成为可能。

在函数这一侧,可以通过array[i]引用数组的内容。Why?本质上array[i] 不过是*(array + i)的语法糖

#include<stdio.h>
void func(int *array, int size)
{
int i;
for(i = 0; i < size; i++)
{
     printf("array[%d]..%d\n", i, array[i]);
}
}

int main()
{
int array[] = {1,2,3,4,5};
func(array, sizeof(array) / sizeof(int));
return 0;
}

这个解决了很多关于指针的困惑。

传递二维数组:

//传递二维数组
#include<stdio.h>
void func(int (*hoge)[3])//hoge是指向int数组(个数为3)的指针
{
    int i, j;
    for(i = 0; i < 4;i++)
    {
        for(j = 0; j < 3; j++)
        {
            printf("%d ",hoge[i][j]);
        }
        putchar('\n');
    }
}
int main(void)
{
int hoge[][3] = {
    {1,2,3},
    {4,5,6},
    {7,8,9},
    {10,11,12}
};
func(hoge);
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

C语言中如何将数组作为函数参数传递

今天复习到c语言的数组,看到这么一个问题: 现在,你的程序要读入两个多项式,然后输出这两个多项式的和,也就是把对应的幂上的系数相加然后输出。 程序要处理的幂最大为100。 输入格式: ...
  • linows
  • linows
  • 2015年02月15日 12:35
  • 3862

C++中关于二维数组作为函数参数传递的问题

在做数据结构迷宫实验的时候,要生成一个二维数组存储迷宫数据,为了保证程序的模块化,将生成部分单独放进一个函数migongsc()里。大致代码如下:         问题的...

[学习笔记]二位数组作为函数参数传递剖析

原文地址:http://www.cnblogs.com/wuyuegb2312/archive/2013/06/14/3135277.html 前言   很多文章不外乎告诉你下面这几种标准的形式...

二维数组作为函数参数传递剖析(C语言)(6.19更新第5种)

前言   很多文章不外乎告诉你下面这几种标准的形式,你如果按照它们来用,准没错: //对于一个2行13列int元素的二维数组 //函数f的形参形式 f(int daytab[2][13]) {.....

C语言二维数组作为函数参数传递

二维数组存放方式二维数组中元素排列的顺序是按行存放的,即在内存中先顺序存放第一行的元素,再存放第二行的元素…二维数组作为函数参数二维数组作为函数参数,实参可以直接使用二维数组名,在被调用函数中对形参数...

C++中关于二维数组作为函数参数传递的问题

在做数据结构迷宫实验的时候,要生成一个二维数组存储迷宫数据,为了保证程序的模块化,将生成部分单独放进一个函数migongsc()里。大致代码如下:         问题的...

二维数组作为函数参数传递剖析(C语言)

http://www.cnblogs.com/yangxi/archive/2012/03/22/2411452.html 前言   很多文章不外乎告诉你下面这几种标准的形式,你如果按照它们来...

二维数组作为函数参数传递剖析(C语言)总结

前言   很多文章不外乎告诉你下面这几种标准的形式,你如果按照它们来用,准没错: //对于一个2行13列int元素的二维数组 //函数f的形参形式 f(int daytab[2][13]) {....

[c++基础] 函数参数传递,数组

1. C++中函数参数传递 从概念上来说一下这几种函数传参方式及区别: (1)值传递:形参是实参的拷贝,改变函数形参的值并不会影响外部实参的值,,返回值那是return考虑的; (2)指针传递:指针...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数组作为函数参数传递
举报原因:
原因补充:

(最多只允许输入30个字)