// 定义类数组数据类型 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;
}
执行结果 :