文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C语言数组入门实例分析

2023-06-30 13:31

关注

本篇内容主要讲解“C语言数组入门实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C语言数组入门实例分析”吧!

1.一维数组

数组的定义: 数组是一组相同类型元素的集合

a.一维数组的创建

数组的创建格式为: 数组的类型 数组名[ 常量表达式] ;

C语言数组入门实例分析

关于数组创建易错点:

C语言数组入门实例分析

b.一维数组的初始化

类似于给整型变量初始化的过程:

int a=2; int b=5; int c=66;

C语言数组入门实例分析

关于数组初始化易错点:

字符串的结束标志是 \0

特别注意:数组长度和字符串长度不是一个东西

C语言数组入门实例分析

#include <stdio.h>#include <string.h>int main(){int arr1[3] = { 1,2,3 };//数组有1、2、3这三个元素int arr2[4] = { 1,2,3 };//数组有1、2、3、0这四个元素int arr3[4] = { 0 };//数组有0、0、0、0这四个元素char ch5[5] = "dat";//数组有d、a、t、\0、0这五个元素char ch6[] = "dat";//数组有d、a、t、\0这四个元素char arr6[] = "abc";//数组有a、b、c、\0四个元素,该数组长度为3,字符串长度为3char arr7[] = {'a','b','c'};//数组有a、b、c三个元素,该数组长度为3,字符串长度为随机值printf("%d\n", strlen(arr6));//3printf("%d\n", strlen(arr7));//随机值printf("%s\n", arr6);//得abcprintf("%s\n", arr7);//abc乱七八糟return 0;}

c.一维数组的使用

访问数组中的某个元素用到[ ]下标引用操作符, 数组是使用下标来访问的,下标是从0开始

计算数组的大小如下代码:

#include <stdio.h>int main(){    int arr[10] = {0};    int sz = sizeof(arr) / sizeof(arr[0]);    printf("则数组的大小为%d\n",sz);    return 0;}

d.一维数组在内存中的存储

一维数组在内存中连续存放

数组的存放地址由低到高变化,看代码:

C语言数组入门实例分析

2.二维数组

一维数组长这样:

int arr [ 10 ]= { 0 } ;

二维数组长这样:

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

C语言数组入门实例分析

a.二维数组的创建

int arr1 [ 3 ] [ 4 ] ; 三行四列

char arr2 [ 4] [ 4 ] ; 四行四列

float arr3 [ 3 ] [ 6] ; 三行六列

特别注意:二维数组中,行可以省略,如:

int arr [ ] [ 4 ] ;

b.二维数组的初始化

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

第一行: 1 2 3 4

第二行: 5 0 0 0

第三行: 0 0 0 0

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

第一行: 1 2 0 0

第二行: 3 4 0 0

第三行: 0 0 0 0

第四行: 0 0 0 0

float arr3 [ 3 ] [ 6] = { {1,2} , {3,4} , {5,6,0,2} } ;

第一行: 1 2 0 0 0 0

第二行: 3 4 0 0 0 0

第三行: 5 6 0 2 0 0

特别注意:未完全初始化的部分都是0

c.二维数组的使用

和一维数组相同,二维数组的使用也是通过下标的方式实现, 行和列的顺序,以及下标的的顺序不能错哦

C语言数组入门实例分析

d.二维数组在内存中的存储

通过下图,我们发现:

二维数组在内存中也是连续存储的

数组的存放地址也是由低到高变化

C语言数组入门实例分析

3.数组越界

数组的下标是有限制的

规定:数组下标从0开始,最后一个元素下标为n-1

看以下代码:

i=3;则有0 1 2 3 四个下标就有四个元素,

j=4;则有0 1 2 3 4 五个下标就有五个元素

C语言数组入门实例分析

4.数组作为函数参数

这里用个冒泡函数:将元素排序,来举例

这个代码通过调试,才能得出效果

#include <stdio.h> void bubble_sort(int arr[], int sz){    int i = 0;    for (i = 0; i < sz - 1; i++)    {        int j = 0;        for (j = 0; j < sz - i - 1; j++)        {            if (arr[j] > arr[i])            {                int tmp = arr[j];                arr[j] = arr[j + 1];                arr[j + 1] = tmp;            }        }    }}int main(){    int arr[] = { 1,3,6,8,2,9 };    int sz = sizeof(arr) / sizeof(arr[0]);    bubble_sort(arr, sz);    return 0;}

5.数组名

C语言数组入门实例分析

数组名就是首元素的地址(俩个例外)

sizeof(数组名)计算的是数组的大小

&数组名,取出的是数组的地址

到此,相信大家对“C语言数组入门实例分析”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯