C语言攻略指南(五)数组篇

数组是指那些具有相同的数据类型的,数量有限的若干个变量通过有序的方法组织起来的一样种便于使用的形式。数组属于派生类型(数组是建立在其他类型的基础上),数组中的变量被称为数组的元素。

一维数组

  一维数组指的是只有一个下标的数组,它用来表示一组具有相同类型的数据

  • 数组的定义
类型说明符 数组名[常量表达式];

int group[10];   // 创建一个整型的数组,数组长度为10,即数组元素个数为10

数组的定义后,会为数组元素开辟一块连续的内存空间,数组的类型决定数组元素内存空间的大小 ,若想要使用数组操作数据,还需要对数组进行初始化。

  • 数组的初始化

  1.对所有元素赋值

int group[4] = {0,1,2,3};

  

  2.对部分元素赋值,未赋值的元素默认为 0

int group[10] = {0,1,2,3,4};

  

  3.不指定数组元素,数组长度由后边给定初始化元素个数决定

int group[] = {0,1,2,3,4};    // 数组长度为 5

  

  •  数组元素的引用
数组名[下标] 

如果数组被定义为 group[n] ,则下标的取值范围为 [0,n-1],元素在数组中的位置满足 下标+1 的关系,如 group[3] 对应 数组中第4个元素。

#include <stdio.h>

int main()
{
	int group[5] = {1,2,3,4,5};

        /* 遍历一维数组 */

	for(int i = 0; i < 5; i++)
	{
		printf("下标: %d  值为: %d\n", i,group[i]);
	}

	return 0;
}    

注意:使用数组时下标不能越界,如 group[10],不能使用 group[13],group[-2] 这些,仅能使用范围 0 ~ 9 内的下标 。

二维数组

  • 二位数组的定义
类型说明符 数组名称[常量表达式 1][常量表达式 2];

  

  • 二维数组的初始化

  二维数组相当于多个一维数组的组合,初始化规则按一维数组的套用

int group[4][4] = {{0,1,2,3},{6,7,8}};

/* 初始化一个 4*4 的二维数组,group[0]即第一行元素为{0,1,2,3}
group[1]即第二行元素为{6,7,8,0},group[1][1]的值为 6
group[2],group[4]即第三行元素,第四行元素 为{0,0,0,0}   */

  

  • 二维数组的遍历
#include <stdio.h>

int main()
{
	int i,j;
	int group[2][3] = {{1,2,3},{4,5,6}};

	for(i = 0; i < 2; i++)
	{
		for(j = 0; j < 3; j++)
		{
			printf("[%d][%d]: %d  ", i, j, group[i][j]);
		}
		printf("\n");
	}

	return 0;
}

 多维数组

  在一维和二维的基础上类推,一般使用不多,就不写了 ╰( ̄▽ ̄)╭

时间: 2024-10-28 11:10:07

C语言攻略指南(五)数组篇的相关文章

C语言攻略指南(四)函数篇

其实在开始篇中第一个程序 Hello World,就已经使用了函数,输出的 printf 函数,封装这一系列操作的 main 函数.C语言程序是由一个个函数组合而成,这是C语言模块化的表现.所谓的模块化就是将复杂的任务分割成若干个小任务,每个小任务就是一个模块, 先分别实现各个模块,而后实现最终目标.这种模块化的思想,将程序的复杂度降低,逻辑更加清晰. 函数的定义 返回值类型 函数名(参数) { 函数体 } 返回值类型:一个函数可以有返回值,也可以无返回值,有返回值需要说明返回值的类型是 int

C语言攻略指南(三)流程控制篇

流程控制语句,或者说控制流语句,是用于控制程序计算操作执行的次序,使我们能实现判断,选择,循环等操作.本篇将逐一描述 C语言中的流程控制语句. 选择结构 if 语句 if(表达式) 语句1; else 语句2; 如果表达式的值为真(非0),执行语句1,如果为假(0),则执行语句2.(在 C语言中,非零即真) 这里的语句并不单指一条以 ; 为结束符的语句,也可能是多条语句,而是多条语句时,即代码块,最好用 { } 括起来,这样不容易出错,也方便读. else 部分是可选的,如果不写,表达式的值为真

C语言攻略指南(二)基础篇

变量 什么是变量? 变量是程序可操作存储区的名称,通常该存储区是内存,变量就是内存中一块空间的标识. 变量具有有类型,而变量的类型决定占用内存空间的大小. 变量的命名规:由字母,数字,下划线("_"),组成的序列,第一个字符必须为字母或下划线. 变量的基本类型 char 字符型 int 整型 float 单精度浮点 double 双精度浮点 使用 sizeof 查看占用存储大小 #include <stdio.h> int main () { int i; printf(&

c语言之函数参数传递之数组篇(转)

在VC中写程序都习惯了,一般数组作为函数实参时,最常用的方法就是引用和指针的方法,但是到C语言中就没有引用了,还有一种比较常用的方法: #include <stdio.h>void sort(int array[],int n){int i,j,k,t;for(i=0;i<n-1;i++){k=i;for(j=i+1;j<n;j++)if(array[j]<array[k]) k=j;t=array[k];array[k]=array[i];array[i]=t;}}int 

javase基础复习攻略《五》

总结完JAVA的基础语法和面向对象思想后,今天为大家补充一下JAVA中的数组,数组是什么呢?大家是不是想到了集合,数组和集合有相似之处,集合中的数据无序,不可以重复.数组中则存放着具有相同特征的一组数据集合,数组中的数据有序且可以重复,数组使用时应先声明,再分配存储长度,然后才能够使用. JAVA中的数组类似于C语言的数组定义,分为一维数组.二维数组.三维数组等等.一般我们只讨论一维和二维数组.数组的使用无外乎声明和初始化,以及数组元素的引用,下面我们就一起再温习一下. 1.一维数组的声明和初始

Python面试攻略(嗨谈篇)

选出了其中出现频率最高的十个题目,附上答案供各位小伙伴参考! 1.*args和**kwargs是什么意思? 答:*args表示可变参数(variadic arguments),它允许你传入0个或任意个无名参数,这些参数在函数调用时自动组装为一个tuple: **kwargs表示关键字参数(keyword arguments),它允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict.同时使用*args和**kwargs的时候,必须保证*args在**kwargs之前

深度游戏测评【天命奇御】成就进度62/71的通关攻略(2&#183;罐子篇)

原文地址:https://www.cnblogs.com/wuduojia/p/9494824.html

携号转网全攻略,这一篇就够了

文章来源:我的信 携号转网就要来了,你知道吗? 11月30日,三大电信运营商将在全国范围内,全面实施携号转网,喜大普奔! 早在2019年7月31日,工业和信息化部(以下简称工信部)发布<携号转网服务管理暂行办法(征求意见稿)>,明确了"携号转网"的服务办理条件.业务流程.服务规范等内容,这也标志着携号转网工作进入了落地阶段. 图片来源:2019年8月5日 经济日报 为了验证携号转网的可行性,工信部在2010年11月,进行了第一批携号转网试点(天津.海南),在2014年9月,

Gradle脚本基础全攻略

[工匠若水 http://blog.csdn.net/yanbober 转载请注明出处.点我开始Android技术交流] 1 背景 在开始Gradle之前请务必保证自己已经初步了解了Groovy脚本,特别是闭包规则,如果还不了解Groovy则可以先看<Groovy脚本基础全攻略>这一篇博客速成一下Groovy基础,然后再看此文即可.关于Gradle速成干货基础详情也请参考Geadle官方网站,不好意思我太Low了. Gradle核心是基于Groovy的领域特定语言(DSL,具体概念参见<