数组初始化 --- 初始化器

C99增加了一个新特性:指定初始化器。利用该特性可以初始化指定的数组元素。例如,只初始化数组中的最后一个元素。对于传统的的C初始化语法,必须初始化最后一个元素之前的所有元素,才能初始化它:

int arr[6]={0,0,0,0,0,212];//传统的语法

 

而使用C99的新特性:

int arr[6]={[5]=212};

这样写和上面的结果是一样的,由于前几个元素没有初始化,所以编译器会自动把它们设置为0。

 

如果指定初始化器后面有更多的值,如:

int arr[8]={[5]=212,3,4};

这个时候arr[6]就初始化3,另外如果再次初始化之前指定的元素,那么最后的初始化将会取代之前的初始化。

 

如果未指定数组元素的大小的话,如:

int arr[]={1,[6]=23,4}

这个时候编译器会把数组的大小设置为足够装得下初始化的值。上面这个数组的长度就是8.

posted @   流水灯  阅读(530)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
历史上的今天:
2017-01-04 SSH --- 在ubuntu的terminal中使用SSH登入别的linux主机
2017-01-04 SSH --- 在 windows 使用 secureCRT 通过 SSH 登录 ubuntu
2017-01-04 SSH --- secureCRT(SSH客户端) 和 linux 设备(SSH服务器) 的 SSH 连接设置注意
2016-01-04 JAVA开发环境搭建
点击右上角即可分享
微信分享提示