美文网首页
函数、数组与指针的关系

函数、数组与指针的关系

作者: 奋斗live | 来源:发表于2017-11-12 16:11 被阅读0次

假设我们要写一个统计数组中所有元素之和的函数,可以如下写法

total = sum(arr);

以上代码告诉了我们的是,参数arr实际是一个数组的首元素的地址,那么它的对于的数组原型可以如下

int sum(int * arr);

也可以

int sum(int arr[]);

总之函数原型如下,都是等价的

int sum(int * arr);
int sum(*);
int sum(int arr[]);
int sum([]);

但函数定义中不能省略参数名,如下

int sum(int * arr){
  //省略函数代码
}

int sum(int arr[]){
  //省略函数代码
}

再看一个例子

#include<stdio.h>
#define SIZE 4
int sum(int arr[],int n);
int main(){
    int days[SIZE] = {10,20,30,40};
    long total;
    total = sum(days,SIZE);
    printf("这个数组总和是%d\n",total);
    printf("这个数组大小是%u\n",sizeof days);//数组每个元素都是int类型,4个int类型,就是16个字节
    return 0;
}
int sum(int arr[],int n){
    int i;
    int total = 0;
    for(i=0;i<n;i++){
        total+= arr[i];
    }
    printf("这个arr 是%u字节\n",sizeof arr);//传递的是数组的首地址,int 类型占用的是4字节
    return total;
}

输出如下


image.png

相关文章

  • 数组指针/指针数组/函数指针/函数指针数组

    原文地址: 浅谈 数组指针 指针数组 函数指针 函数指针数组... 以及它们之间区别。 首先,先说明一个关系:数组...

  • 函数指针

    概念: 指针函数, 函数指针, 指针数组, 数组指针, 指向数组的指针, 指向函数指针数组的指针。

  • C语言

    C 指针、指针变量、函数指针、指针函数、指针数组、数组指针、C 数组

  • 混淆知识点

    1、指针数组&数组指针、常量指针&指针常量、函数指针&指针函数 数组指针&指针数组 数组指针的定义 int (*p...

  • C语言特性(指针数组和指向指针变量的指针)

    指针数组和指向指针变量的指针 指针数组与main()函数形参 声明指针数组与声明普通数组的语法类似,其语法格式如下...

  • 函数、数组与指针的关系

    假设我们要写一个统计数组中所有元素之和的函数,可以如下写法 以上代码告诉了我们的是,参数arr实际是一个数组的首元...

  • C语言-2、数组、函数

    数组定义 数组的指针、内存地址、取值 数组大小 函数指针 函数指针2 函数指针3

  • c基础—指针运算和函数指针

    二级指针 数组和数组指针 采用指针遍历数组循环赋值 遍历 赋值 指针与数组的几种写法 函数指针(回调) 题目:监听...

  • ndk02_指针运算,函数参数与指针,数组指针,二级指针

    一、指针运算 二、数组与指针 三、指针和函数参数 四、指针数组 五、 二级指针 六、知识要点 1、C语言中的函数如...

  • C:函数指针的坑

    关于该死的函数指针和指针函数 先来个目录 常量指针、指针常量 数组指针、指针数组 函数指针、指针函数 1、先看第一...

网友评论

      本文标题:函数、数组与指针的关系

      本文链接:https://www.haomeiwen.com/subject/rqxomxtx.html