C语言 数组类型与数组指针类型

//数组类型与数组指针类型
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

void main(){
    printf("
-------数组类型----------
");
    {
        //定义一个数组类型
        typedef int Myarr[5];//定义了一个int型有5个元素的数组类型
        //定义一个数组类型变量
        Myarr myarr;
        //数组赋值
        int i = 0;
        for (i = 0; i < 5; i++)
        {
            myarr[i] = i * 2;
        }
        //打印数组的值
        for (i = 0; i < 5; i++)
        {
            printf("%d
", myarr[i]);
        }
    }
    printf("
-------数组指针类型①----------
");
    {
        //首先定义一个数组类型
        typedef int Myarr[5];
        //定义一个数组指针变量  类比: int a; int *pa;
        Myarr * pmyarr = NULL;
        //定义一个数组
        Myarr a;
        //定义一个数组指针
        pmyarr = &a;
        //为数组赋值
        int i = 0;
        for (i = 0; i < 5; i++)
        {
            (*pmyarr)[i] = i + 3;
        }
        //打印数组
        for (i = 0; i < 5; i++)
        {
            printf("%d
", (*pmyarr)[i]);
        }
    }
    printf("
-------数组指针类型②----------
");
    {
        //定义一个数组指针类型
        typedef int(*PArrType)[5];
        //定义数组指针变量
        PArrType parr = NULL;
        int a[5] = { 0 };
        parr = &a;
        //为数组赋值
        int i = 0;
        for (i = 0; i < 5; i++)
        {
            (*parr)[i] = i + 5;
        }
        //打印数组
        for (i = 0; i < 5; i++)
        {
            printf("%d
", (*parr)[i]);
        }
    }
    printf("
-------数组指针类型③----------
");
    {
        //直接定义数组指针变量
        int(*parr)[5];
        int a[5] = { 0 };
        parr = &a;
        //为数组赋值
        int i = 0;
        for (i = 0; i < 5; i++)
        {
            (*parr)[i] = i + 5;
        }
        //打印数组
        for (i = 0; i < 5; i++)
        {
            printf("%d
", (*parr)[i]);
        }

    }
    system("pause");
}
原文地址:https://www.cnblogs.com/zhanggaofeng/p/5371756.html