zoukankan      html  css  js  c++  java
  • 定义数组类型

    int arrayaa[10];

    这个表示我定义了一个int型数组,数组名字叫arrayaa,这个数组里面有10个int型数据。

    那如果前面加上一个typedef,那么意思就完全变了

    typedef int arrayaa[10];

    表示定义了一个名字叫 arrayaa的数组类型,这个数组类型的元素类型为int,且含有10个int型数据(元素)。

    同样的道理,我也可以定义一个char类型,一个double类型等等,

    我可以利用这个数组类型,去定义新的数组

    举个例子

    int main(void)
    {
        typedef int arrayaa[10];
        arrayaa a1;
        for (int i = 0; i < 10; i++)
        {
            a1[i] = i+1;
        }
        cout<<a1[4]<<endl;
    }

    我定义了一个数组类型,名字叫arrayaa,然后利用这个数组类型定义了一个数组,名叫a1

    接下来对a1进行了赋值操作,然后打印a1里面的第五个数,输出为5.

    然后看一下如何定义二维数组

    和一维数组的结构是类似的

    int arrayaa[10][10];

    这样就定义了一个10行10列 由100个int型元素组成的二维数组的数组类型 arrayaa

    接下来我们看下面的例子:定义指针数组类型

    typedef int (*arrayaa)[10];

    定义了一个数组类型的指针

    然后我们使用一下这个指针

    int main(void)
    {
        int a2[10];
        typedef int (*arrayaa)[10];
        arrayaa aa;
        aa=&a2;
        a2[1] = 10;
        cout<<a2[1]<<endl;
    }

    逐一的看一下这个代码

    首先定义两个一个数组 a2,然后定义了一个和刚才数组同类型的数组类型指针 arrayaa ,用 arrayaa定义了一个变量 aa,然后将aa指向刚才定义个数组a2,并通过aa 给数组赋值打印等操作

    我们也可以这样做

    int main(void)
    {
        int a2[10];
        int (*arrayaa)[10];
        arrayaa=&a2;
        a2[1] = 10;
        cout<<a2[1]<<endl;
    }

    跟刚才的代码相比,这次的就是直接定义了一个(元素类型为int  元素个数为10的数组的)指针,(而上面的例子是先定义了指针类型),将指针指向前面的a2.

  • 相关阅读:
    Java基本数据类型转换
    Java中的数据类型
    Java常见关键字
    HashMap源码分析(jdk 8)
    函数参数
    存储盘在系统中对应的naa号
    Python处理文本换行符
    Python文件操作中的方法:.write()换行
    此示例示意标准输出函数print的用法
    主机端查看到的wwpn 不是以:分割解决办法
  • 原文地址:https://www.cnblogs.com/qifeng1024/p/12686613.html
Copyright © 2011-2022 走看看