数组与指针

作者: 李2牛 | 来源:发表于2018-02-26 21:25 被阅读0次

水滴石穿,非一日之功

代码如下

#include <stdio.h>
int getSize(int array[]){
    return sizeof(array);
}
int main(int argc, char const *argv[])
{
    int arr1[] = {1,2,3,4,5};
    int size1 = sizeof(arr1);

    int* pointer = arr1;
    int size2 = sizeof(pointer);
    int size3 = getSize(arr1);
    printf("%d, %d, %d \n",size1,size2,size3);
    return 0;
}

输出为20,8,8
分析:

  1. arr1是一个数组,sizeof求的是数组arr1的大小。整型变量的大小为4字节,所以含有五个元素的数组的大小为20字节。
  2. 整型指针pointer指向数组的第一个数字,64位系统中指针的大小始终为8字节。
  3. 数组作为函数的参数传递时,数组自动退化成为同类型的指针。所以getSize函数中的sizeof返回的数值为指针的大小,而不是数组的大小。


    编译警告.jpg

相关文章

  • C语言的数组指针与指针数组(One)

    一、数组指针与指针数组: 数组指针<——>本质是指针 指针数组<——>本质是数组上图: 二、数组指针: int ...

  • C语言21 指针数组与数组指针

    C语言21 指针数组与数组指针 指针数组的定义 指针数组的赋值 结构体指针数组 分析下面的代码 数组指针的定义 数...

  • 指针数组 & 数组指针 & 函数指针

    一、指针数组 & 数组指针 普通数组: 即数组名a与(*p)等价,都代表数组的首地址,此为数组指针 指针数组: ...

  • 指针笔记

    指针数组和数组指针 数组指针是指向数组的指针,指针的值与数组首元素地址相同,但范围是整个数组,所以数组指针和数组名...

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

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

  • 指针

    指针数组与数组指针 在这里数组指针是指向数组的指针,其本质为指针,指向的对象是数组。由于数组的形式多样所以数组指针...

  • iOS 指针详解

    指针数组与数组指针在这里数组指针是指向数组的指针,其本质为指针,指向的对象是数组。由于数组的形式多样所以数组指针的...

  • 2019-09-18C语言复杂表达式与指针高级应用

    1.指针数组与数组指针 1.1、字面意思来理解指针数组和数组指针 (1)指针数组的实质是一个数组,这个数组中存储的...

  • 数组知识点

    数组指针与指针数组: int(*p)[4]; --定义数组指针p,指向含4个元素的一维整型数组的指针变量(是指针)...

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

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

网友评论

    本文标题:数组与指针

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