• 前言

    C语言有很多的知识,其中一个就是关于数组指针的问题,对于一些刚学C语言的萌新来说,C语言的数组指针是一个问题。

    定义

    数组(Array)是一系列具有相同类型的数据的集合,每一份数据叫做一个数组元素(Element)。而且数组在内存中只占一块内存,并且每一个元素是连续排列的。

    创建数组

    一般来说,C语言创建数组只需要两个条件:

    1. 指明数组的类型
    2. 指明数组的长度,不能越界使用。

    如:

    1
    2
    3
    4
    5
    int a = 1024 ; int arr[5] = {1,2,3,4,5}; // 完全初始化
    int arr1[] = {1,2,3,4,5,6,7,8,9,10} // 正确,定义的时候并没有确定大小, 初始化后才确定的大小
    arr2 = {1,2,3,4,5,}// 不可行, 数组只有在初始化的时候可以统一赋值
    int arr2 [5] = {1,2,3,4,5,6,7}; // 语法上可以,但是逻辑上不允许, 涉嫌越界
    int arr3[50] = {1,2,3,4,5}; // 不完全初始化 , 没有初始化部分自动填充0

    对数组名称的理解

    总的来说,环境不同,数组名称的意义就不同。

    1. 表示整个数组
    • 在定义的时候

      1
      int arr[3]={0,1,2}
    • 在sizeof语句中

      1
      int len=sizeof(arr)/sizeof(int); //求长度
    • 在取地址&arr时

      1
      int *p=&arr;
    1. 在其余时候都表示数组中第一个元素的地址。

    当数组名确定后,数组名就是一个地址常量,不能更改。但可以把数组赋值给指针。

    1
    2
    int *p;
    p=arr;
    上一篇:
    Git for windows
    下一篇:
    几小时带你学会Python-之-1
    本文目录
    本文目录