如何定义数组指针:

  • 先定义出数组的类型,在通过类型创建数组指针
  • typedef int(ARRAY_TYPE)[5];
  • //先定义数组指针的类型,再创建数组指针变量
  • typedef int(ARRAY_TYPE)[5];
  • //直接创建数组指针变量
  • int(*pArr)[5]=&arr;

代码示例:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
//先定义出数组的类型,在通过类型创建数组指针
void test01()
{
   
        int arr[5] = {
   1,2,3,4,5};
        typedef int(ARRAY_TYPE)[5];//ARRAY_TYPE是一个数据类型,代表有5个int类型元素的数组
        ARRAY_TYPE*arrP = arr;
        //printf("%d\n",arrP);
        //printf("%d\n",arrP+1);
        //*arrP等价与 arr
        for (int i = 0; i < 5; i++)
        {
   
               printf("%d\n", (*arrP) [i]);
        }
}
//先定义数组指针的类型,再创建数组指针变量
void test02()
{
   
        int arr[5] = {
   1,2,3,4,5};
        typedef int(*ARRAY_TYPE)[5];
        ARRAY_TYPE arrP = &arr;
}
//直接创建数组指针变量
void test03()
{
   
        int arr[5] = {
   1,2,3,4,5};
        int(*pArr)[5]=&arr;
        for (int i = 0; i < 5; i++)
        {
   
               printf("%d\n", (*pArr)[i]);
        }
}
int main()
{
   
// test01();
        //test02();
        test03();
        return EXIT_SUCCESS;
}

更多文章,敬请关注微信公众号:YQ编程