【C语言零基础入门篇 - 6】:数组、字符和字符串带你探索无限可能

文章目录

数组

特点:

  1. 在同一个数组中,所有元素都是同一个类型。可以是int、char、float、double等类型。
  2. 数组是一种构造类型,是一批数据的集合,每个数据必须是同一种类型。如果一批数据是单行单列的,用一维数组;如果是多维多列的问题,就用二维数组。

方法:

  • 一个数组元素其实就是一个变量,可以称为带下标的变量。

  • 学习数组永远3点:定义、使用、初始化

一维数组

一维数组的定义

定义格式:

复制代码
类型名 数组名[常量表达式];

四个注意:

复制代码
(1)数组名属于用户定义标识符。需要遵守标识符命名规则。

(2)定义一维数组时,数组名后必须用一个方括号,将常量表达式括起来,常量表达式的值表示定义的数组有多少个元素(数组的长度或数组的大小 )

(3)定义数组时,方括号中的表达式不能有变量。另外,表达式的值必须为正整数。

(4)C语言中,每个数组在内存中分配的空间是连续的。

一维数组的初始化

复制代码
格式:类型名 数组名[常量表达式]={初值1,初值2,...};		
// 花括号是数组初始化的分隔符

注意

  1. 定义一维数组时,可以将各元素的初始值,依次放在一对{ }中,赋给数组(必须用{}将初值括起,且初值之间用一个逗号分隔)。
  2. 多则出错,少则补零。
  3. 我们在初始化数组时,如果初值的个数等于数组长度,那么,数组长度可以省略。
  4. 只能在定义数组的同时,用{}给数组元素整体赋值,只能是在定义的时候。


字符数组

字符串:

字符串最后都有一个字符串结束符('\0'),用字符数组来存放字符串时一定要有一个元素来存放字符串结束符'\0'。

如果字符数组的末尾是'\0',我们就认为字符数组存的是字符串。


二维数组

定义格式:

复制代码
类型名 数组名[常量表达式1][常量表达式2];

二维数组与一维数组比较:

复制代码
二维数组多了一个方括号。在二维数组中第一个方括号表示行数,第二个表示列数。



  • 真实:二位数组在内存中还是一条直线
c 复制代码
int arr[3][4] = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } };

for (int i = 0; i < 3; i++)
{
	for (int j = 0; j < 4; j++)
	{
		printf("%d\t", arr[i][j]);
	}
	printf("\n");
}

二维数组存汉字


字符串相关函数

  • strcmp函数: 字符串比较函数
  • strlen函数: 求字符串有效长度
  • strcat函数: 字符串拼接函数
  • strcpy函数: 字符串拷贝函数

注意 :在使用函数时需要在程序中导入#include<string.h>(包含字符串函数的库)




小结

数组优缺点:

  • 优点:n能够保存大量的数据
  • 缺点:一次性需要分配,数据类型不一致

特点 :数组的分配的内存是连续的,数组名就是整个数组的首地址

相关推荐
明月看潮生2 小时前
青少年编程与数学 02-019 Rust 编程基础 05课题、复合数据类型
开发语言·青少年编程·rust·编程与数学
幼稚诠释青春2 小时前
Java学习笔记(对象)
java·开发语言
Wyc724093 小时前
JDBC:java与数据库连接,Maven,MyBatis
java·开发语言·数据库
强化学习与机器人控制仿真3 小时前
Newton GPU 机器人仿真器入门教程(零)— NVIDIA、DeepMind、Disney 联合推出
开发语言·人工智能·python·stm32·深度学习·机器人·自动驾驶
芯片SIPI设计4 小时前
MIPI C-PHY 标准学习----一种通用多信号传输方案
c语言·开发语言·学习
Tiny番茄4 小时前
No module named ‘xxx’报错原因及解决方式
开发语言·python
咩咩觉主4 小时前
c#数据结构 线性表篇 非常用线性集合总结
开发语言·数据结构·unity·c#·游戏引擎·程序框架
李匠20245 小时前
C++GO语言微服务和服务发现②
开发语言·c++·golang·服务发现
每次的天空5 小时前
Kotlin 内联函数深度解析:从源码到实践优化
android·开发语言·kotlin
268572595 小时前
JVM 监控
java·开发语言·jvm