`
yaojingguo
  • 浏览: 209044 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

C array initialization

 
阅读更多

For fewer initializers, refer to 4.9 Initialization in K&R and 6.7.8 Initialization in C99 standard.

 

 

#include <stdio.h>

// in bss section. static storage. initialized to 0
int global_array[10];

void global() {
	int i;

	printf("=== global ===\n");
	for (i = 0; i < 10; i++)
		printf("array[%d] = %d\n", i, global_array[i]);
}

void range() {
	int i;
	int array1[] = { [0 ... 1] = 10, [7 ... 9] = 8 };	
	printf("=== range ===\n");
	for (i = 0; i < 10; i++)
		printf("array[%d] = %d\n", i, array1[i]);
}

void no_initializers_for_array_on_stack() {
	int i;
	int array2[3];

	printf("=== no_initializers_for_array_on_stack ===\n");
	for (i = 0; i < 3; i++)
		printf("array2[%d] = %d\n", i, array2[i]);
}

void fewer_initializers() {
	int i;
	// Sames as int array2[] = { [0] = 1} };
	int array2[3] = {1}; // 

	printf("=== fewer_initializers ===\n");
	for (i = 0; i < 3; i++)
		printf("array2[%d] = %d\n", i, array2[i]);
}

int main(int argc, const char *argv[]) {
	global();
	no_initializers_for_array_on_stack();
	range();
	fewer_initializers();
	return 0;
}
 
分享到:
评论

相关推荐

    c语言常见笔试题及答案

    type array_name[array_size]; ``` 例如,声明一个可以存放 10 个整数的数组: ```c int numbers[10]; ``` 可以通过索引来访问数组中的元素,索引从 0 开始。 #### 6. 指针 指针是 C 语言中非常重要的概念,它存储...

    C语言常见英语词汇.docx

    * initialization:初始化,指C语言中变量的初始化过程。 * number format:数据格式,指C语言中数值的表示方式。 * declaration:说明,指C语言中变量、函数和数组的声明。 条件语句 * select:选择,指C语言中...

    C语言-爱心源码的实现方法

    数组的声明语法格式为`type array_name[size]`,其中,type是数据类型,array_name是数组名,size是数组大小。例如,下面是一个整数数组的声明: ```c int scores[5]; ``` 字符常量 在C语言中,我们可以使用字符...

    C语言--谭浩强,PDF版

    - C语言的标准经历了多个版本的发展,包括K&R C(基于《The C Programming Language》一书)、ANSI C、C99、C11等。 - 每个版本都增加了新的特性和改进了语言规范。 **1.4 C语言的特点:** - **简洁明了**:语法...

    C语言常见错误查询,查询运行时出现的错误

    例如,`a + b * c`可以写成`(a + b) * c`或`a + (b * c)` Ambiguous symbol 在C语言中,我们可能会使用一些ambiguous symbol,例如`i`可能是整数也可能是浮点数。这时候我们需要使用明确的类型说明符来避免错误。 ...

    记录学习完C语言后,学习C++的过程,实现从C语言到C++的过渡.zip

    C++还包括了C99的一些特性,如变量长度数组(variable-length array,VLA)、复合初始化(compound initialization)以及inline函数等。然而,C++的inline函数比C语言的内联函数更强大,因为它涉及到了模板。 最后...

    实验三:数组及其应用.doc

    * Incorrect array declaration and initialization. * Incorrect loop iteration and indexing. * Incorrect use of the `scanf` function. * Incorrect use of the `printf` function. * Incorrect implementation...

    常见C语言错误提示信息.doc

    5. **Array size too large**:数组大小超过了C语言的限制,通常32位系统中最大为4GB。 6. **Bad character in parameters**:参数中包含非字母、数字或下划线的非法字符。 7. **Bad file name format in include ...

    storcli常用命令使用手册.docx

    使用 `storcli64 /cx set &lt;properties&gt;` 命令可以设置 RAID 的属性,例如设置读写策略和条带大小:`storcli64 /c0 add vd r5 size=all name=diskarray01 drives=50:5-7,50:9 awb ra cached strip=256`。 StorCLI ...

    最全的c语言错误提示

    Illegal initialization (非法初始化) 当使用非法的方式初始化变量时,会报此错误。例如,初始化 `char` 变量时使用了大于 `255` 的值。解决方法是确保初始化值符合变量类型的要求。 #### 44. Illegal octal ...

    C语言总结供学习

    type arrayName[arraySize]; ``` - **初始化**: ```c int arr[] = {1, 2, 3}; ``` #### 八、函数 函数是一段可重用的代码块。 - **声明**: ```c returnType functionName(parameters) { // 函数体 } ``...

    c语言出错信息汇总

    5. **Array size too large**:数组大小超过了C语言允许的最大值,通常32位系统下最大为4GB。 6. **Bad character in parameters**:参数中包含非法字符,C语言只接受字母、数字和下划线。 7. **Bad file name ...

    sun存储3510手册

    根据提供的文件信息,我们可以归纳出以下关于Sun StorEdge 3510 FC Array的相关知识点: ### 一、产品概述 Sun StorEdge 3510 FC Array是一款由Sun Microsystems公司与Dot Hill Systems Corporation合作开发的企业...

    C语言英文精选Chapter-10ppt课件.ppt

    2. **结构体变量声明(Structure Variables Citation and Initialization)** 结构体变量可以直接声明并初始化,也可以分开声明。变量名和成员名的命名规则与普通变量相同。例如: ```c struct student s1 = {...

    C语言5循环结构.ppt

    for循环的格式是`for(initialization; condition; update)`,三部分之间用分号隔开。 4. **break语句**:当在循环体内遇到break时,会立即跳出当前循环,执行循环后面的代码。例如,在寻找数组中的特定元素时,一旦...

    C语言常见英语单词-带音标

    C语言常见英语单词-带音标 C语言是一种广泛使用的编程语言,掌握C语言的英语单词是非常重要的。本文总结了C语言中常见的英语单词,并提供了每个单词的音标和解释。 1. main [men] - 主函数的函数名,表示程序的...

    学习C语言用得到的单词

    8. **初始化**(initialization):为变量分配内存并设置初始值的过程。 9. **数据格式**(number format):数据在内存中的表示方式,例如整型、浮点型等。 10. **声明**(declaration):告诉编译器变量、函数或...

    C语言英文精Chapter10ppt课件.ppt

    总结,本章深入探讨了C语言中的结构体和联合体,它们是构建复杂数据结构的关键工具,对理解和编写高效、灵活的C程序至关重要。通过结构体,我们可以有效地管理像学生信息管理这样的多维度数据,而联合体和枚举则提供...

    c语言常见英语词汇

    10. **初始化(initialization)**:在声明变量时为其赋予初始值。 11. **数据格式(number format)**:数值数据的表示方式,如整型、浮点型、八进制、十六进制等。 12. **说明(declaration)**:告诉编译器变量、函数...

    C语言常用单词(备用无患)

    * 初始化(Initialization):变量或数组的初始化过程。 * 数据格式(Number Format):数据的表示方式,如整数、浮点数等。 二、条件语句 * 选择(Select):根据条件选择执行不同的语句。 * 表达式(Expression...

Global site tag (gtag.js) - Google Analytics