(数组p1) C语言从入门到入土(入门篇)(一)

简介: 数组 1. 一维数组的创建和初始化 1.1 数组的创建 1.2 数组的初始化 1.3 一维数组的使用 1.4 一维数组在内存中的存储 2. 二维数组的创建和初始化 2.1 二维数组的创建 2.2 二维数组的初始化 2.3 二维数组的使用 2.4 二维数组在内存中的存储

//后面的部分下次接着讲哈!

 数组越界

 数组作为函数参数

.数组的应用实例1:三子棋

 数组的应用实例2:扫雷游戏


1. 一维数组的创建和初始化

1.1 数组的创建


数组是一组相同类型元素的集合。

数组的创建方式:

type_t   arr_name   [ const_n ];

//type_t 是指数组的元素类型

//const_n 是一个常量表达式,用来指定数组的大小

数组创建的实例:

// 代码 1

int arr1 [ 10 ];

// 代码 2

int count = 10 ;

int arr2 [ count ]; // 数组时候可以正常创建?

// 代码 3

char arr3 [ 10 ];

float arr4 [ 1 ];

double arr5 [ 20 ];


18.png19.png20.png21.png

 注:数组创建,在C99标准之前, [] 中要给一个常量才可以,不能使用变量。在C99标准支持了变长数组的概念。


1.2数组的初始化


数组的初始化是指,在创建数组的同时给数组的内容一些合理初始值(初始化)。

看代码:

int arr1 [ 10 ] = { 1 , 2 , 3 };

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

int arr3 [ 5 ] = { 1 , 2 , 3 , 4 , 5 } ;

char arr4 [ 3 ] = { 'a' , 98 , 'c' };

char arr5 [] = { 'a' , 'b' , 'c' };

char arr6 [] = "abcdef" ;  


22.png23.png


数组在创建的时候如果想不指定数组的确定的大小就得初始化。数组的元素个数根据初始化的内容来确定。


但是对于下面的代码要区分,内存中如何分配。

char arr1 [] = "abc" ;

char arr2 [ 3 ] = { 'a' , 'b' , 'c' };


24.png25.png


当用双引号包括时,结尾会自动加一个\0

1.3 一维数组的使用

对于数组的使用我们之前介绍了一个操作符: [] ,下标引用操作符。它其实就数组访问的操作符。

我们来看代码:

#include <stdio.h>
int main ()
{
        int arr [ 10 ] = { 0 }; // 数组的不完全初始化
            //计算数组的元素个数
            int sz = sizeof ( arr ) / sizeof ( arr [ 0 ]);
        //对数组内容赋值 , 数组是使用下标来访问的,下标从 0 开始。所以:
        int i = 0 ; // 做下标
        for ( i = 0 ; i < 10 ; i ++ ) // 这里写 10 ,好不好?
        {
                arr [ i ] = i ;
        }
        //输出数组的内容
        for ( i = 0 ; i < 10 ; ++ i )
        {
                printf ( "%d " , arr [ i ]);
        }
        return 0 ;
}


26.png27.png28.png29.png


总结 :

1. 数组是使用下标来访问的,下标是从 0 开始。

2. 数组的大小可以通过计算得到。

int arr [ 10 ];

int sz = sizeof ( arr ) / sizeof ( arr [ 0 ]);

相关文章
|
1天前
|
存储 编译器 C语言
【c语言】数组
本文介绍了数组的基本概念及一维和二维数组的创建、初始化、使用方法及其在内存中的存储形式。一维数组通过下标访问元素,支持初始化和动态输入输出。二维数组则通过行和列的下标访问元素,同样支持初始化和动态输入输出。此外,还简要介绍了C99标准中的变长数组,允许在运行时根据变量创建数组,但不能初始化。
17 5
|
4天前
|
存储 算法 C语言
C语言:什么是指针数组,它有什么用
指针数组是C语言中一种特殊的数据结构,每个元素都是一个指针。它用于存储多个内存地址,方便对多个变量或数组进行操作,常用于字符串处理、动态内存分配等场景。
|
10天前
|
存储 人工智能 BI
C语言:数组的分类
C语言中的数组分为一维数组、多维数组和字符串数组。一维数组是最基本的形式,用于存储一系列相同类型的元素;多维数组则可以看作是一维数组的数组,常用于矩阵运算等场景;字符串数组则是以字符为元素的一维数组,专门用于处理文本数据。
|
8天前
|
存储 C语言
C语言:一维数组的不初始化、部分初始化、完全初始化的不同点
C语言中一维数组的初始化有三种情况:不初始化时,数组元素的值是随机的;部分初始化时,未指定的元素会被自动赋值为0;完全初始化时,所有元素都被赋予了初始值。
|
11天前
|
C语言 C++
保姆式教学C语言——数组
保姆式教学C语言——数组
15 0
保姆式教学C语言——数组
|
10天前
|
C语言
C语言数组
C语言数组
12 0
|
11天前
|
存储 C语言 索引
c语言回顾-数组(全网最详细,哈哈哈) (下)
c语言回顾-数组(全网最详细,哈哈哈) (下)
34 0
|
10天前
|
C语言 C++
C语言 之 内存函数
C语言 之 内存函数
25 3
|
1天前
|
存储 缓存 C语言
【c语言】简单的算术操作符、输入输出函数
本文介绍了C语言中的算术操作符、赋值操作符、单目操作符以及输入输出函数 `printf` 和 `scanf` 的基本用法。算术操作符包括加、减、乘、除和求余,其中除法和求余运算有特殊规则。赋值操作符用于给变量赋值,并支持复合赋值。单目操作符包括自增自减、正负号和强制类型转换。输入输出函数 `printf` 和 `scanf` 用于格式化输入和输出,支持多种占位符和格式控制。通过示例代码详细解释了这些操作符和函数的使用方法。
17 10
|
5天前
|
存储 编译器 C语言
C语言函数的定义与函数的声明的区别
C语言中,函数的定义包含函数的实现,即具体执行的代码块;而函数的声明仅描述函数的名称、返回类型和参数列表,用于告知编译器函数的存在,但不包含实现细节。声明通常放在头文件中,定义则在源文件中。