首页 > 其他分享 >C语言笔记——数组

C语言笔记——数组

时间:2024-11-28 11:29:55浏览次数:13  
标签:10 数组 初始化 str1 笔记 C语言 char str

一维数组

C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。

所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素。C 中的数组

1、数组的定义格式:类型说明符 数组名[数组的大小]

2、类型说明符:基本数据类型

3、数组名:合法的标识符,满足规则和规范

4、数组大小:是一个常量,或者一个字符

5、数组的初始化:数组={存储的数据}

不给数组大小的时候,必须给数组初始化,初始化数据的个数就是数据的大小

只初始化部分数据,那么没有初始化的部分,系统自动默认为0

数组中数据的访问:通过下标来访问,下标可以理解为某个数据的一个编号

下标从0开始

数组的下标表示方法:数组名[数组下标]

数据是占内存的,并且操作系统会给你随机分配内存地址编写

地址:实际是你的内存条上的东西,虚拟出来的一个地址,用来表示这个数据在内存条的哪个位置,地址一般是用数据的十六进制形式表示的

MaxSize(数组能够储存的数据的最大个数)

len(当前数组已经存储了多少个数据)

二维数组

1、定义:类型说明符 数组名[数组大小][数组大小]行,列

2、初始化:{}(没有赋值地方系统自动默认为0)

int arr【2】【9】={
{1,2,3,4,5,6,7,8,9},
{9,8,7,6,5,4,3,2,1}
}
for(int i=0;i<4;i++)
{
for(int j=0;j<3;j++)
{
printf("%d\t",arr【i】【j】)
}
} 

三维数组

3、定义:由多个二维数组组成

int arr8[2][4][3]

第一个2表示由几个二维数组组成

游戏:推箱子

字符数组

1.定义:储存字符类型数据的集合

(注:如果用字符串给字符数组初始化,那么不需要{},但是要有双引号)

2.中文也是字符,一个汉字占2个字节

char str3[10]="你好";(√)

char str4="好";(×)(char4仅有一个字节)

3.通过scanf来获取字符时电脑只会读取到"空格"("\0")的位置

同时,gets函数也可用来输入

gets()

puts()

4.数组比较

导入头文件#include<string.h>

(比较时从第一个字符开始比较,若相等继续比较下一个字符,若不相等以此时比较结果为准)

eg.

char str[10]="zaaa";

char str1[10]="aazz";

此时str>str1

比较完后会返回一个结果:

0表示两个字符串相等

>0说明str>str1

<0说明str<str1

strlen:求字符串的有效长度(\0不算有效长度)

sizeof:求类型大小

5.strcat:字符串拼接函数

eg.

char str[10]="aaaa";

char str1[10]="bbbb";

strcat(str,str1); (表示把str1的字符串拼接到str的后面,str就变成了aaaabbbb)

注:拼接时要留足够的空间来储存字符串

6.strcpy:字符串拷贝函数

eg.

char str[10]="abc";

char str1[10]="def";

strcpy(str,str1); (表示把str1的函数拷贝到str中,此时输出str就为"def")

标签:10,数组,初始化,str1,笔记,C语言,char,str
From: https://blog.csdn.net/kangll_/article/details/144106748

相关文章

  • C语言笔记--选择和循环语句
    分支语句ifswitch循环语句whilefordowhilegoto语句什么是语句C语句可分为以下五类:1.表达式语句2.函数调用语句3.控制语句4.复合语句5.空语句控制语句用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成,C语言有九种控制语句。可......
  • 数组去重,属性相同的对象也算重复 Object.is使用
    console.log(Object.is(+0,-0))//false但是控制台为trueconsole.log(Object.is(NaN,NaN))//true但是控制台是falseconstuniqueArray=(arr)=>{constresult=[]outer:for(constitemofarr){for(rofresult){if(equals(r,item))......
  • [C语言]使用联合体和结构体 巧妙处理寄存器数据上位机读写的方法
    最近有在研究陀螺仪,里面就有对不同寄存器做配置,然后在读取一定地址的寄存器数据;发现这种逻辑工程上经常有;但是我接触到的代码基本都是通过一大堆宏定义去给他们寄存器地址命名,然后再自己读手册去搞配置;其实在性能上这个操作挺好的,但是我们似乎也没那么在意这几十个字......
  • 海康DS-MCH208安全帽相机的开发笔记
    1、需要在手机里面安装一个【小AI助手】的APP。2、按开关键启动相机,然后按左上角的按键,连续按两次,会提示“打开热点”。3、手机通过WIFI连接到相机的热点。热点的默认名称是【miniAI-Kxxxxxxx】,其中Kxxxxxxx就是相机的序列号,在相机背面的标签上会有写。4、然后打开【小AI助手】......
  • js对象和类型化制数组互相转换的方法
    js对象和类型化数组互相转换的方法//对象转化为类型化数组functionjsonToTypedArray(obj){constjsonString=JSON.stringify(obj)constencodedString=encodeURIComponent(jsonString)letbase64=btoa(encodedString)constencoder=newTe......
  • C语言(运算符及位运算)
    运算符算术运算符基本的算术运算符+、-:正负值运算符(单目运算符)。+、-、*、/、%:加减乘除取余运算符(双目运算符)注意:进行除法运算的时候,除数是不能为0的。这些算术运算符的运算顺序与数学上的运算顺序相同。表达式和运算符的优先级与结合性算术表达式:是指用算术运算符......
  • C语言(流程控制)
    算法著名计算机科学家沃思提出了一个公式:数据结构+算法=程序数据结构:对数据的描述算法:对操作步骤的描述算法定义广义的说,未解决一个问题而采取的方法和有限的步骤,就称为“算法”例如:将⼤象放⼊冰箱的算法就可以如下描述:打开冰箱⻔-把⼤象装进去-关闭冰箱⻔算......
  • 《微分几何讲义(陈省身)》读书笔记 第三章 外微分
    第三章外微分§1张量丛Note:下文中讨论的“纤维丛”是积流形的推广。微分几何中研究的是一类特殊的纤维丛——矢量丛。下面首先讨论具体的张量丛,再讨论一般的矢量丛。​ \(m\)维光滑流形\(M\)的每一点\(p\)处有一对对偶空间——切空间\(T_p\)和余切空间\(T^*_p\),因......
  • C语言 -运算符
    运算符各类数值型数据间的混合运算整型、实型、字符型数据间可以进行混合运算运算时,参加运算的两个数据如果类型不同,则首先将其类型转换成一致再运算,转换规则是:将优先级低的类型转换到优先级高的类型,被称作自动类型转换(小转大——不会损失数据)。大类型类型变量名=......
  • 初识c语言+getchar()和putchar()相关知识
    编译和链接C语言是一门编译型计算机语言,源代码都是文本文件,本身无法执行,必须通过编译器的编译和链接器的链接生成二进制的可执行文件才能执行。一个工程一般多个源文件组成。1.每个源文件(.c)单独经过编译器处理生成对应的目标文件(.obj为后缀的文件)。2.多个目标文件和库......