代码编织梦想

  6d63dc5dd3994f75ae53a20768cc10f6.gif

🏆 个人主页:🎈 @太阳哥哥 🎈

🎁 本文收录专栏:🎈 C语言学习之路 🎈

🛒 其他专栏:🎈 ARM学习之路 🎈

📝 学习格言:路漫漫其修远兮,吾将上下而求索

💡 欢迎点赞、关注、收藏( •̀ ω •́ )✧   一起努力,一起学习!

目录

1、一维数组

1.1、完全初始化

1.2、部分初始化

1.3、一维数组的使用

1.4、一维数组的遍历

1.5、一维数组内存空间

2、字符数组

2.1、字符数组内存空间

2.2、字符数组的初始化

2.3、、字符串数组操作

3、二维数组

3.1、二维数组内存空间

3.2、二维数组初始化

3.2.1、分段初始化

3.2.2、连续初始化


1、一维数组

        数组:就是一组数据,就是用来存储一组数据,数据是由基本上护数据类型构成出来,叫做构造数据类型,相同的数据类型的一组数据(相同的数据类型数据的有序集合),数组类型可以存储多个相同类型数据。

        格式:元素类型 数组名[元素个数];

        数组初始化:定义数组时进行赋值操作,就叫做初始化,就是初始化数组(数据这个集合)的元素

1.1、完全初始化

        按照元素个数全部进行初始化,在其中花括号{},指定数据元素的值(对各元素进行初始化),各数据元素值使用,逗号隔开

int num[3] = {1,2,3}//完全初始化,num[0] == 1; num[1] == 2;num[2] == 3;

  不指定元素个数,根据初始化的值的个数,来确定元素个数

int num[] = {1,2,3}//完全初始化,根据元素的值来确定元素个数

        注意:只有初始化时可以不写元素个数,当作完全初始化来判断个数

1.2、部分初始化

  必须有元素个数,进行部分初始化,没有初始化的元素,系统会自动把其他元素设置为0

int num[3] = {1,2}//部分初始化

  指定部分初始化的元素

int a[5] = { [4] = 1,[1] = 2 };
//初始化的元素:a[1],a[4]
int b[] = {[2] = 1};//大小为3,部分初始化最大的为最为一个元素

1.3、一维数组的使用

        数组的使用就是使用数组中的元素,由于数组元素没有变量名的说话,不能使用变量名来操作元素;数组表示其中的元素使用编号的方式,只要知道编号就知道这个元素

        数组元素的表示:

        如果数组没有初始化,或数组元素之后想进行修改,这时就需要我们自己进行赋值,把内容存储到数组中

#include<stdio.h>
​
int main()
{
        int a[5];//定义一个数组,下面挨个初始化,其中a[4]未被初始化,数组中的元素存储的值是随机
值
        a[0] = 0;
        a[1] = 1;
        a[2] = 2;
        a[3] = 3;
​
        printf("a[0]=%d\n a[1]=%d\n a[2]=%d\n a[3]=%d\n a[4]=%d\n",a[0],a[1],a[2],a[3],a[4]);
}

  •         没有进行初始化赋值,数组中的元素存储的值是随机的值

1.4、一维数组的遍历

  遍历:查看使用访问到数组的每一个元素,叫做数组的遍历,可以用for循环遍历数组

  遍历形式

for(int i = 0;;i++)
{
    a[i];
}

注意:

  • 使用的元素范围不要超过数组的索引范围,从0开始,到元素个数-1

  • 使用元素时,不要使用未进行初始化(或未赋值)的元素,因为里面是随机值或0

  • 在初始化完成后,不能在一次性对数组中的多个元素进行赋值,如:c = {1,2,3};错误的

1.5、一维数组内存空间

        申请一段没有被使用的连续空间,依次用作其中每个元素存储

  在定义数组时,数组的[大小]只能是整数个

int a[10];//申请10个元素
int a[n];//申请n个元素,但是申请的n表示的是当前n的值为多少,如 n == 5,相当于int a[5],不管之后n为多少,数组大小不变

2、字符数组

2.1、字符数组内存空间

        字符数组:定义的数组类型,每一个元素为一个字符,是一个字符集合

        字符串:多个字符有序的排列在一起形成一个整体就叫做字符串,是以双引号表示

        如:“ok!not”====>只要是字符串默认最后有一个空字符('\0')表示字符串结束

        在C语言中,没有专门的一个类型叫做字符串变量类型,可以使用一个字符数组来进行存储字符串,就是把字符串的所有字符依次存储到数组中

        字符串存储到字符数组时,为了能够表示是一个字符串,需要把结束字符'\0',也存储到字符数组中,有了结束表示'\0',字符数组的大小就不再作为字符数组存储了多少个字符

char buf[10];
buf[9] = 'c';
//字符数组存储的字符个数,由数组大小决定
​
char buf[10] = "hello"
//相当于存储了6个字符,后面的不算(因为字符串就是以'\0'结束)

2.2、字符数组的初始化

        格式:

        字符初始化:字符类型 数组名[大小] = {'a','b','c'};

        字符串的初始化:字符类型 数组名[大小] = "abcdef";

char buf1[10] = {'1','2','3','\0'};
char buf2[10] = "123";//默认会把'\0'添加到数组中
char buf3[10]  = "1234567890";//'\0'没有存储到数组中,如果没有报错,存储在数组之后下一个位置上
    
char buf4[] = "hello";//初始化时没有指定数组大小,则数组大小根据初始化的值(字符个数)的个数决定,大小为6,字符串有一个结束符'\0'

2.3、、字符串数组操作

        意味着把数组用作字符串的使用方式,有结束标志'\0'

        字符串的输出:只会输出到'\0'字符为止

printf("%s",字符数组名(字符串));,输出字符数组直到'\0'结束

#include<stdio.h>
​
int main()
{
​
        char buf[10] = "hello";
        buf[8] = 'x';
        buf[9] = 'y';
​
        printf("%s\n",buf);//只会打印字符串"hello"
        for(int i = 0;i<10;i++)
        {
​
                printf("%c\n",buf[i]);//每一个都遍历,包括null
​
        }
        return 0;
​
}

  字符串的输入:scanf("%s",数组名);

#include<stdio.h>
int main()
{
    char buf[10] = "0";
    scanf("%s",buf);
    printf("%s\n",buf);
}

  • 字符数组如果想当作字符串进行操作,则考虑‘\0’这个字符串的结束标记

  • 字符数组当作普通数组进行操作,则是单个字符的操作,每个元素操作

3、二维数组

        二维数组:数组是多个元素的集合,数组中,如果每个元素也是一个数组,就叫做二维数组

        格式:数组元素类型 数组名[二维数组数组大小] [一维数组大小];

        int array[3][5]

3.1、二维数组内存空间

3.2、二维数组初始化

3.2.1、分段初始化

int array1[3][5] = {{1,2,3},{1,2,3,4,5}};
int array2[3][5] = {{1,2,3},{1,2,3,4,5},{1,2,3,4}};//用花括号,表示初始化每一个成员
//array[0] 能够进行整体操作吗?不行,因为还是一个数组

3.2.2、连续初始化

int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
//a[0][0],a[0][1],a[0][2],a[0][3],a[1][0],a[1][1]......
int b[3][4] = {1,2,3,4,5,6};
//b[0][0] = 1,b[0][1] = 2,b[0][2] = 3,b[0][3] = 4,b[1][0] = 5,b[1][1] = 6,b[1][2] = 0......0

        在二维数组初始化时,由于有数据值,所以可以不写元素个数(二维数组元素个数),根据值来确定

 
✨本篇到此结束啦!欢迎点赞👍收藏❤关注😎

ade2d02221184de18874af569fd12e2c.png

版权声明:本文为博主原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_57768994/article/details/127158306

c语言总结(一维数组、二维数组、字符数组和字符串)_快乐的兔子1的博客-爱代码爱编程_c语言二维字符数组

C语言总结 第七章、数组一维数组一维数组的定义一维数组的引用一维数组的初始化程序举例 二维数组及多维数组二维数组的定义二维数组元素的引用二维数组元素的初始化 程序举例字符数组和字符串字符数组字符串

C语言数组——二维数组-爱代码爱编程

C语言目录 C/C++学习资源(百度云盘链接)计算机二级资料(过级专用)C语言学习路线(从入门到实战)编写C语言程序的7个步骤和编程机制C语言基础-第一个C程序C语言基础-简单程序分析VS2019编写简单的C程序示例简单示例,VS2019调试C语言程序C语言基础-基本算法C语言基础-数据类型C语言中的输入输出函数C语言流程控制语句C语言数组——一维数组

C语言二维数组与二维指针-爱代码爱编程

目录 C语言二维数组与二维指针例题错误的代码错误原因正确的代码方案一方案二 C语言二维数组与二维指针 近期通过一道例题,我总结了一下二维数组、二维指针、二维数组首地址三者之间的关系,请网友多多批评指点。 例题 错误的代码 #include<stdio.h> #include<stdlib.h> int fun

c语言程序二维数组,C语言二维数组访问-爱代码爱编程

假设存在下面一个数组,要求用函数访问该数组 int a[2][3]= { {1,2,3}, {4,5,6}, }; 1. void show_array(int *a,int M,int N) { inti,j; for(i=0;i { for(j=0;j { printf("%d ",*(a+i*N+j)); } pr

c语言字符串二维数组初始化为0,c语言二维数组如何初始化为0-爱代码爱编程

c语言二维数组如何初始化 1 有两种方法 (1)在定义时可以直接赋值来初始化 (2)在定义后可以为其元素一个个来赋值 2 示例 1234567891011121314151617181920212223242526272829#include《stdio.h》 void display(int arr[2][3], int row, int

一维数组c语言,c语言一维数组_C语言一维数组入门教程-爱代码爱编程

摘要 腾兴网为您分享:C语言一维数组入门教程,优衣库,小米手环,小米钱包,小度等软件知识,以及胎教宝典,一级建造师题库软件,康佳渠道,刷点卷,一加系统,音乐节拍器,liveuc视频会议,辽宁省政务服务网,剑鱼招标网,欢乐吧聊天室,乔巴壁纸,个人述职报告ppt,趣码平台,驾考宝典2015科目一,rabbitmq等软件it资讯,欢迎关注腾兴网。本文章来简单

二维数组查询c语言,C语言二维数组超细讲解-爱代码爱编程

用一维数组处理二维表格,实际是可行的,但是会很复杂,特别是遇到二维表格的输入、处理和输出。 在你绞尽脑汁的时候,二维数组(一维数组的大哥)像电视剧里救美的英雄一样显现在你的面前,初识数组的朋友们还等什么呢?让我们认识一下这位武功高强的大哥吧! 1. 双下标变量 聪明的你一定能够顾名思义了吧,简单举个例子:Array [2] [3] Array

c语言的整形二维数组,C语言入门 — 数组,二维数组-爱代码爱编程

1、C语言入门 — 数组,结合上一篇文章《C语言入门 — 数组,一维数组》, 我们这里讲如何使用二维数组, 二维数组可以理解成多个一维数组组成的数组, 比如定义两个a[10]的数组可以这样子定义: int a[2][10]; 定义中的10代表每一个一维数组有10个变量, 2代表有两个这样的一维数组。 那如何使用二维数组中的变量呢, 使用方法和一维数

c语言 复制二维数组,C语言 二维数组复制、清零及打印显示(示例代码)-爱代码爱编程

#include #include#include //二维整型数组打印显示 void printarr2d(int (*a)[3],int row,intcol) {inti,j;for(i=0; i {for(j=0; j { printf("%d", a[i][j]); } printf("\n"); } } main()

C语言二维数组详解-爱代码爱编程

C语言二维数组详解 二维数组的定义 简单理解就是:二维数组由多个一维数组构成 类型 数组名[第一维大小][第二维大小]; type arrayName [x][y];//x,y的大小一般均为常量表达式。 int a[2][3];//定义了一个 2 行 3 列的 int 型二维数组 a。 float b[3][2];//定义了一个 3 行 2

C语言二维数组-爱代码爱编程

文章目录 一.认识二维数组 二.二维数组基本操作 三.二维数组操作字符串 前言         二维数组本质上是以数组作为数组元素的数组,即“数组的数组”,类型说明符 数组名[常量表达式][常量表达式]。二维数组又称为矩阵,行列数相等的矩阵称为方阵。对称矩阵a[i][j] = a[j][i],对角矩阵:n阶方阵主对角线外都是零元素。 例如:

C语言二维数组及指针引用-爱代码爱编程

文章目录 C语言二维数组及指针引用1.二维数组的定义与表示2.用指针引用二维数组元素 C语言二维数组及指针引用 1.二维数组的定义与表示 二维数组是形如: 表示一个int类型,三行四列的数组 int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12} 表示一个char类型,两行三列的数组 char s[2][3]=

c语言详解系列——数组详解,一维数组、二维数组_悲伤猪小猪的博客-爱代码爱编程

文章目录 一维数组一维数组的创建数组的初始化一维数组的使用一维数组在内存当中的存储 二维数组二维数组的创建二维数组的初始化二维数组的使用二维数组在内存中的存储 数组的越界访问数组作为函数参数冒

cesium学习七:使用callbackproperty更新entity_小何又沐风的博客-爱代码爱编程

一、前言 本学习流程到目前为止已经学习了点、线、多边形、棱柱、椭球等几何体的绘制,这些都是比较常见的,当然Cesium提供的几何体不止上述几种,还有很多,使用方式基本相同,参数除了几何数据外,绘制参数大同小异,所以其他的几