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

简介: 【C 语言】数组 ( 数组类型表达 | 定义数组类型 )

文章目录

总结

一、数组类型表达

二、定义数组类型

三、代码示例

总结

 

// 定义类数组数据类型 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;
}


执行结果 :


image.png

目录
相关文章
|
17天前
|
存储 编译器 C语言
【c语言】数组
本文介绍了数组的基本概念及一维和二维数组的创建、初始化、使用方法及其在内存中的存储形式。一维数组通过下标访问元素,支持初始化和动态输入输出。二维数组则通过行和列的下标访问元素,同样支持初始化和动态输入输出。此外,还简要介绍了C99标准中的变长数组,允许在运行时根据变量创建数组,但不能初始化。
33 6
|
21天前
|
存储 编译器 C语言
C语言函数的定义与函数的声明的区别
C语言中,函数的定义包含函数的实现,即具体执行的代码块;而函数的声明仅描述函数的名称、返回类型和参数列表,用于告知编译器函数的存在,但不包含实现细节。声明通常放在头文件中,定义则在源文件中。
|
21天前
|
存储 算法 C语言
C语言:什么是指针数组,它有什么用
指针数组是C语言中一种特殊的数据结构,每个元素都是一个指针。它用于存储多个内存地址,方便对多个变量或数组进行操作,常用于字符串处理、动态内存分配等场景。
|
27天前
|
存储 人工智能 BI
C语言:数组的分类
C语言中的数组分为一维数组、多维数组和字符串数组。一维数组是最基本的形式,用于存储一系列相同类型的元素;多维数组则可以看作是一维数组的数组,常用于矩阵运算等场景;字符串数组则是以字符为元素的一维数组,专门用于处理文本数据。
|
24天前
|
存储 编译器 C语言
C语言:数组名作为类型、作为地址、对数组名取地址的区别
在C语言中,数组名可以作为类型、地址和取地址使用。数组名本身代表数组的首地址,作为地址时可以直接使用;作为类型时,用于声明指针或函数参数;取地址时,使用取地址符 (&),得到的是整个数组的地址,类型为指向该类型的指针。
|
24天前
|
存储 C语言
C语言:一维数组的不初始化、部分初始化、完全初始化的不同点
C语言中一维数组的初始化有三种情况:不初始化时,数组元素的值是随机的;部分初始化时,未指定的元素会被自动赋值为0;完全初始化时,所有元素都被赋予了初始值。
|
27天前
|
C语言 C++
保姆式教学C语言——数组
保姆式教学C语言——数组
16 0
保姆式教学C语言——数组
|
27天前
|
C语言
C语言数组
C语言数组
16 0
|
26天前
|
C语言 C++
C语言 之 内存函数
C语言 之 内存函数
31 3