文章目录

  • 总结
  • 一、数组类型表达
  • 二、定义数组类型
  • 三、代码示例

总结

// 定义类数组数据类型 int [10] , 类型别名为 ArrayType
typedef int (ArrayType)[10];

// 与 int array[10] = {0}; 作用相同
ArrayType array2 = {0};

一、数组类型表达


C 语言中的 数据类型 分为 基础数据类型 , 非基础数据类型 ;

数组类型 由 元素类型 和 元素个数 共同决定 ,

int array[10]​ 的数据类型是 int [10]​ , 其中 int​ 是元素类型 , [10] 是元素个数 ;

二、定义数组类型


​定义数组类型 :​ 小括号 ()​ 优先级高于 中括号 [] , 二者的结合方向都是自左向右 ; 参考 C 运算符 结合性 ;

typedef int (ArrayType)[10]​ 中 , 有小括号 , 优先考虑小括号 , 核心标识符是 ArrayType ;

// 定义类数组数据类型 int [10] , 类型别名为 ArrayType
typedef int (ArrayType)[10];

​使用定义的数组类型别名声明数组 :​

// 与 int array[10] = {0}; 作用相同
ArrayType array2 = {0};

三、代码示例


#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/**
* @brief 主函数入口
* @return
*/
int main()
{
// 定义数组
int array[10] = {0};

// 定义类数组数据类型 int [10] , 类型别名为 ArrayType
typedef int (ArrayType)[10];

// 与 int array[10] = {0}; 作用相同
ArrayType array2 = {0};

// 循环控制变量
int i = 0;

// 为数组元素赋值
for(i = 0; i < 10; i ++)
{
array2[i] = i;
}

// 打印数组元素
for(i = 0; i < 10; i ++)
{
printf("%d\n", array2[i]);
}

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

​执行结果 :​

【C 语言】数组 ( 数组类型表达 | 定义数组类型 )_数据类型