温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C语言数组入门实例分析

发布时间:2022-05-13 09:51:11 来源:亿速云 阅读:108 作者:iii 栏目:开发技术

本篇内容主要讲解“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,字符串长度为3
    	char arr7[] = {'a','b','c'};
    	//数组有a、b、c三个元素,该数组长度为3,字符串长度为随机值
    	printf("%d\n", strlen(arr6));//3
    	printf("%d\n", strlen(arr7));//随机值
    	printf("%s\n", arr6);//得abc
    	printf("%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语言数组入门实例分析

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

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

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

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

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI