【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

目录
相关文章
|
2月前
|
存储 人工智能 程序员
一文彻底搞明白C语言的数组
本文详细介绍了C语言中的数组,包括定义、初始化(静态与动态)、存储方式、访问方法及常用操作,如遍历、修改元素和作为函数参数传递。数组是C语言中最基本的数据结构之一,掌握它对编程至关重要。下篇将介绍二维数组,敬请期待!
110 0
一文彻底搞明白C语言的数组
|
4月前
|
存储 网络协议 编译器
【C语言】深入解析C语言结构体:定义、声明与高级应用实践
通过根据需求合理选择结构体定义和声明的放置位置,并灵活结合动态内存分配、内存优化和数据结构设计,可以显著提高代码的可维护性和运行效率。在实际开发中,建议遵循以下原则: - **模块化设计**:尽可能封装实现细节,减少模块间的耦合。 - **内存管理**:明确动态分配与释放的责任,防止资源泄漏。 - **优化顺序**:合理排列结构体成员以减少内存占用。
334 14
|
4月前
|
传感器 算法 安全
【C语言】两个数组比较详解
比较两个数组在C语言中有多种实现方法,选择合适的方法取决于具体的应用场景和性能要求。从逐元素比较到使用`memcmp`函数,再到指针优化,每种方法都有其优点和适用范围。在嵌入式系统中,考虑性能和资源限制尤为重要。通过合理选择和优化,可以有效提高程序的运行效率和可靠性。
346 6
|
4月前
|
C语言
【C语言】全局搜索变量却找不到定义?原来是因为宏!
使用条件编译和 `extern` 来管理全局变量的定义和声明是一种有效的技术,但应谨慎使用。在可能的情况下,应该优先考虑使用局部变量、函数参数和返回值、静态变量或者更高级的封装技术(如结构体和类)来减少全局变量的使用。
73 5
|
5月前
|
存储 缓存 算法
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式
在C语言中,数据结构是构建高效程序的基石。本文探讨了数组、链表、栈、队列、树和图等常见数据结构的特点、应用及实现方式,强调了合理选择数据结构的重要性,并通过案例分析展示了其在实际项目中的应用,旨在帮助读者提升编程能力。
134 5
|
4月前
|
编译器 C语言
【C语言】宏定义在 a.c 中定义,如何在 b.c 中使用?
通过将宏定义放在头文件 `macros.h` 中,并在多个源文件中包含该头文件,我们能够在多个文件中共享宏定义。这种方法不仅提高了代码的重用性和一致性,还简化了维护和管理工作。本文通过具体示例展示了如何定义和使用宏定义,帮助读者更好地理解和应用宏定义的机制。
191 2
|
5月前
|
存储 算法 C语言
C语言中常见的字符串处理技巧,包括字符串的定义、初始化、输入输出、长度计算、比较、查找与替换、拼接、截取、转换、遍历及注意事项
本文深入探讨了C语言中常见的字符串处理技巧,包括字符串的定义、初始化、输入输出、长度计算、比较、查找与替换、拼接、截取、转换、遍历及注意事项,并通过案例分析展示了实际应用,旨在帮助读者提高编程效率和代码质量。
296 4
|
5月前
|
存储 程序员 编译器
C 语言数组与指针的深度剖析与应用
在C语言中,数组与指针是核心概念,二者既独立又紧密相连。数组是在连续内存中存储相同类型数据的结构,而指针则存储内存地址,二者结合可在数据处理、函数传参等方面发挥巨大作用。掌握它们的特性和关系,对于优化程序性能、灵活处理数据结构至关重要。
|
5月前
|
存储 算法 C语言
用C语言开发游戏的实践过程,包括选择游戏类型、设计游戏框架、实现图形界面、游戏逻辑、调整游戏难度、添加音效音乐、性能优化、测试调试等内容
本文探讨了用C语言开发游戏的实践过程,包括选择游戏类型、设计游戏框架、实现图形界面、游戏逻辑、调整游戏难度、添加音效音乐、性能优化、测试调试等内容,旨在为开发者提供全面的指导和灵感。
166 2
|
5月前
|
存储 C语言 计算机视觉
在C语言中指针数组和数组指针在动态内存分配中的应用
在C语言中,指针数组和数组指针均可用于动态内存分配。指针数组是数组的每个元素都是指针,可用于指向多个动态分配的内存块;数组指针则指向一个数组,可动态分配和管理大型数据结构。两者结合使用,灵活高效地管理内存。