`

函数参数中的数组和指向数组的指针

 
阅读更多

         大家在向函数中传递数组的时候,一般有两种方式形参模式。

          1:传递数组:例如函数定义为:void fun(int array[100])

                                    则可以这样传递实参:int array[100]={0};  

                                                                        fun(array);

 

           2:传递指向数组的指针:例如函数定义为:void fun(int *array)

                                    也可以这样传递实参:int array[100]={0};  

                                                                        fun(array);

其实这两种形参是等价的,是一样的。都相当于传递了指针。

原因:int array[100]={0};  

           array++;  //是会报错的。

       而将其传递给函数void fun(int array[100])后:

            fun(array);

        在fun函数的内部,array++;是合法的。

      如:

void fun(int array[100])
{
       array++;      //这样是合法的。
}
int main()
{
    int array[100]={0};
    //array++;      这样是非法的。
     fun(array);
}

 

分享到:
评论

相关推荐

    指针进阶之函数指针和函数指针数组

    函数指针的定义方式与数组指针类似,但函数指针的类型是指向函数的类型。 2. 回忆函数 回忆一下我们之前说的函数,写一个加法函数: ```c int Add(int x, int y) { int z = 0; z = x + y; return z; } ``` 3. ...

    函数指针与函数指针数组,多层

    在C++编程中,函数指针是一个非常重要的概念,它允许我们将函数作为参数传递给其他函数,或者将函数存储在数组中。在这个例子中,我们看到如何使用函数指针以及多层函数指针数组。 首先,`Drive`函数接受三个参数:...

    函数指针数组

    在这个示例中,我们定义了一个函数指针数组`op`,它可以存储两个指向接受两个整型参数并返回整型值的函数的指针。然后将`add1`和`add2`函数的地址分别赋值给`op[0]`和`op[1]`。最后,在`main`函数中通过`op[0]`和`op...

    C/C++中多维数组指针作为函数参数传递程序

    C/C++中多维数组指针作为函数参数传递程序 在 C++ 中,多维数组指针作为函数参数传递是非常常见的编程技术。本文将详细介绍如何在 C/C++ 中将多维数组指针作为函数参数传递,並对相关知识点进行详细解释。 多维...

    多线程函数指针数组.rar

    数组在多线程编程中也有其重要用途,例如,可以创建一个线程池,其中数组的每个元素代表一个线程,而线程执行的任务由函数指针指向。线程池可以预先初始化一定数量的线程,等待分配任务,这样可以避免频繁创建和销毁...

    指针, 指针的指针, 数组, 指针数组, 数组指针, 指针函数, 函数指针 CC++中函数指针的含义

    数组指针是一个指针,它可以指向一个数组。例如,`int (*p)[10];` 这里的 `p` 是一个指针,它可以存储一个包含10个整数的数组的地址。 6. **函数指针**: 函数指针是一个指针,它指向一个函数。例如,`int (*p)()...

    c++函数数组指针的使用方法

    本文将详细介绍如何在C++中使用函数指针以及函数数组指针,特别是如何通过这些技术来减少代码量、提高代码的复用性和可读性。 #### 函数指针基础 函数指针是指向函数的指针变量。它们可以存储函数的地址,并且可以...

    数组与指针区别(很全面)

    - 指针可以指向数组的任意位置,而数组名始终指向数组的第一个元素。 2. **灵活度**: - 指针提供了更大的灵活性,可以通过指针指向不同类型的数据结构。 - 数组则更加固定,一旦声明,其大小和类型就不可改变。...

    C语言指针数组函数笔记

    "C语言指针数组函数笔记" ...本笔记总结了C语言中的指针和数组相关知识点,涵盖了变量、指针变量、指针运算符、数组和指针数组函数等内容。通过阅读本笔记,读者可以更好地理解和应用C语言中的指针和数组。

    彻底了解指针数组,数组指针以及函数指针

    ### 彻底了解指针数组、数组指针以及函数指针 #### 一、指针与内存分配...通过上述介绍,我们可以看到指针数组、数组指针以及函数指针在C语言中的重要性和灵活性。熟练掌握这些概念对于编写高效、灵活的代码至关重要。

    函数指针数组的妙用

    在此基础上,我们可以创建函数指针数组,即一个数组中存储多个函数指针,这些函数具有相同的参数列表和返回类型。函数指针数组能够根据不同的条件或需求,动态地选择调用不同的函数,极大地提高了代码的灵活性和效率...

    C语言中指针、数组和函数的综合应用与实例解析.pdf

    C语言中指针、数组和函数的综合应用与实例解析 本文对C语言中指针、数组和函数的概念、运算和应用进行了详细的探讨和分析。指针是C语言的重要特色,是一种特殊的数据类型,通过存储空间的地址或编号来访问数据。...

    【C语言指针】深入浅出:指针与取值、数组、函数; 详细剖析:指针函数、函数指针、指针数组、数组指针、双重指针、指针与动态内存分配

    详细剖析:指针函数、函数指针、指针数组、数组指针、双重指针、指针与动态内存分配 个人总结要点: 本质: 地址要用指针来存储,指针是用来存储地址的!!! 重难点: 指针指向的地址,也就是指针存储的地址!!...

    .编写一个函数,将数组中n个数按反序存放。 实验步骤与要求: 在主函数中输入10个数,并输出排好序的数。 编写函数invert()将10个数按反序存放。

    其核心思想是通过两个指针`n`和`m`分别指向数组的中间位置和最后一个元素的位置,然后依次交换两个指针所指向的元素值,直到所有元素都被正确地反转。 #### 函数参数解释 - `int *p`: 指向数组的第一个元素的指针。...

    数组和指针练习题目(精选)

    在C语言中,数组的名称实际上是一个指向数组首元素的指针。例如,`int a[5];` 就定义了一个整型数组 `a`,其名称 `a` 就是一个指向数组首元素的指针。 选择题 [8.1] 若有定义:`int x,*pb;` 则在以下正确的赋值...

    在C中如何使函数返回数组

    - 返回的数组指针必须在调用者中正确处理,包括释放内存。 #### 方法二:使用结构体传递数组 第二种方法是使用结构体来包装数组,然后将整个结构体作为函数的返回值。这种方法相比于直接返回数组指针更为安全,...

    函数指针和函数指针数组的使用

    函数指针的定义需要指定输入参数和返回值类型,以便正确地调用函数。例如: ```c int (*fun)(int x, int y); ``` 这个函数指针的定义表明,它是一个指向函数的指针,输入参数为两个整型数,返回值为整型数。 二、...

    C语言中二维数组作为函数参数来传递的三种方法

    C语言中二维数组作为函数参数来传递有三种方法:形参给出第二维的长度、形参声明为指向数组的指针、形参声明为指针的指针。每种方法都有其特点和应用场景,我们需要根据具体情况选择合适的方法。

    指针进阶之数组参数和指针参数

    数组指针是一个指针,它指向的是一个数组。我们可以通过指针数组和数组指针来访问和操作数组中的数据。 二、数组参数 在编程语言中,我们经常需要将数组传递给函数。那么,函数的参数该如何设计呢? 1. 一维数组...

Global site tag (gtag.js) - Google Analytics