zoukankan      html  css  js  c++  java
  • 数组类型、数组类型指针、数组指针变量

    typedef int (MyarrayType)[5];
    MyarrayType myArray;
    
    ==》    int myArray[5];

    定义数组类型

    /**
    myArray.c
    **/
    #include<stdio.h>
    
    int main()
    {
        typedef int (MyArrayType)[5];
        MyArrayType myArray;
        
        int i;
        for(i = 0; i < 5; i++)
        {
            myArray[i] = i + 1;
        }
        
        for(i = 0; i < 5; i++)
        {
            printf("%d ",myArray[i]);
        }
        return 0;
    }

    数组指针  用一个指针变量指向一个数组

    方法1:定义数组指针变量的方法—用(数组类型 *) 定义

    /**
    pArray.c
    **/
    #include<stdio.h>
    
    int main()
    {
        typedef int (MyArrayType)[5];    //定义了一个数据类型 
        MyArrayType myArray;            //int myArray[5] 用类型定义变量 
        
        MyArrayType *pArray;            //定义了一个指针变量,这个指针变量指向了一个数组 
        
        int myArray2[5];        //相当于一级指针 
        for(int i = 0; i < 5; i++)
        {
            myArray2[i] = i + 1;
        }
        
        pArray = &myArray2;        //相当于二级指针 
          
        for(int i = 0; i < 5; i++)
        {
            printf("%d ",(*pArray)[i]);
        }
        return 0;
    }

    方法2:直接声明数组类型指针

    #include<stdio.h>
    
    int main()
    {
        //定义声明一个数组指针类型    
        typedef int (*PArrayType)[5];
        PArrayType pArray;    //告诉编译器 给我分配一个指针变量
        
        int c[5];
        
        pArray = &c;
        
        for(int i = 0; i < 5; i++)
        {
            (*pArray)[i] = i + 1;
        } 
         
        for(int i = 0; i < 5; i++)
        {
            printf("%d ",(*pArray)[i]);
        } 
        return 0;
    }

    定义数组指针变量的第三中方法:

    前两种方法通过类型定义变量

    #include<stdio.h>
    
    int main()
    {
        int (*pMyArray)[5];        //直接定义一个指向数组的数组指针变量
        
        int c[5];
        pMyArray = &c;
        
        for(int i = 0; i < 5; i++)
        {
            (*pMyArray)[i] = i + 1;
        }
        
        for(int i = 0; i < 5; i++)
        {
            printf("%d ",(*pMyArray)[i]);
        }
    }
  • 相关阅读:
    n皇后问题
    POJ2155 Matrix二维线段树经典题
    hiho一下 第六十六周
    hdu1754 I hate it线段树模板 区间最值查询
    hdu5481 Desiderium
    自增运算符
    hdu-1823 Luck and Love
    Oracle 函数大全
    对前台传过来的实体是否为空 进行为空校验的N种方法
    IOC和DI的区别详解
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/11657193.html
Copyright © 2011-2022 走看看