【C 语言】数组 ( 数组指针 | 数组指针定义 | 直接定义 数组指针 )

2023-03-29 21:40:52 浏览数 (1)

文章目录

  • 总结
  • 一、直接定义 数组指针
  • 二、完整代码示例

总结

代码语言:javascript复制
    int (*p)[3] = NULL;

一、直接定义 数组指针


直接定义 数组指针 ,

首先 , 定义一个普通数组 , 之后的 数组指针 指向该数组 ,

代码语言:javascript复制
    int array2[3] = {0};

然后 , 直接定义数组类型变量 ,

代码语言:javascript复制
    int (*p)[3] = NULL;

最后 , 将 array2 变量地址赋值给该 数组指针类型 变量 , 指针指向的数据类型为 int[3] 数组类型的变量 array2 ;

代码语言:javascript复制
    ArrayPointer p = NULL;
    p = &array2;

验证上述 定义的数组指针 :

为 数组元素 赋值 ,

代码语言:javascript复制
    // 为数组赋值
    int i = 0;
    for(i = 0; i < 3; i  )
    {
        array2[i] = i   1;
    }

使用 数组指针 , 打印数组元素内容 :

代码语言:javascript复制
    // 使用 数组指针 访问数组中的值
    for(i = 0; i < 3; i  )
    {
        printf("%dn", (*p)[i]);
    }

二、完整代码示例


完整代码示例 :

代码语言:javascript复制
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    // 指针数组 , 数组元素是指针 (作为参考)
    char *array = {"12", "ab", "34"};

    // 数组指针 , 使用指针变量指向数组

    // 首先 , 定义一个普通数组 , 之后的 数组指针 指向该数组
    int array2[3] = {0};

    // 然后 , 直接定义数组类型变量
    int (*p)[3] = NULL;

    // 最后 , 将 array2 变量地址赋值给该 数组指针类型 变量
    // 指针指向的数据类型为 int[3] 数组类型的变量 array2
    p = &array2;


    // 为数组赋值
    int i = 0;
    for(i = 0; i < 3; i  )
    {
        array2[i] = i   1;
    }

    // 使用 数组指针 访问数组中的值
    for(i = 0; i < 3; i  )
    {
        printf("%dn", (*p)[i]);
    }

    // 命令行不要退出
    system("pause");
    return 0;
}

执行结果 :

0 人点赞