c语言学习4

这篇具有很好参考价值的文章主要介绍了c语言学习4。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、数组
什么是数组:变量的组合,是一种批量定义相同类型变量的方式
定义: 类型名 数组名[数量];
int arr[5];
注意:数组的长度一旦确定,无法改变
使用:数组名[下标];
下标:从0开始,范围:0~数量-1
遍历:把数组的数据从头到尾显示或访问
一般与for循环配合,把循环变量i当做数组下标
初始化:
类型名 数组名[数量] = {1,2,3,4,...};
1、数组与变量一样,默认值随机,所以一般都要先初始化
2、数组不能整体初始化,只能逐个初始化
int arr[20]=0 false
3、这种初始化的语法只能在定义数组时使用
int arr[10]//表示已经对这个数组进行了定义,但没有初始化
arr={12,3,2}//这样是会报错的,因为arr表示的地址编号常量赋值是不允许的
arr[10]={12,23,4}//这样也会报错,因为这是一个下标为10的单个数组,已经越界了,所以不能进行这样的操作。
4、初始化数据过多,编译器会产生警告并丢弃,但是会根据下标的多少来进行舍去 例如:int arr[2]={1,2.3};//这样的话就会1和2会被存到了0和1的下标里,但是3会被舍弃掉,同时会产生警告
5、初始化数据不足,编译器会自动补0
6、初始化数据可以全部省略,只写大括号,相当于全部成员初始化为0
7、如果有初始化数据,则可以省略数组数量,因为编译器会自动统计数据的个数,然后确定数组的数量
计算数组的总字节:sizeof(arr)
计算数组成员的字节数:sizeof(arr[0])
计算数组长度的公式:
sizeof(arr)/sizeof(arr[0])
练习1:定义一个长度为10的数组并初始化,计算最大值、最小值、平均值
练习2:定义一个长度为10的数组并初始化,降序排序
33 32 23 3 6 7 5 3 23
i
j

二、数组越界问题
为了程序的运行效率考虑,C语言不检查数组下标是否越界
数据越界的后果:
1、一切正常
2、段错误(核心已转储)
3、脏数据

练习3:定义一个长度为10的数组并初始化,找出数组中第二大的值,不能排序

三、二维数组
一维数组相当于把变量排成一排,通过编号来访问
二维数组相当于把变量排成一个矩阵,通过行号和列号访问
二维数组在内存中依然是连续存储的
定义:
类型名 数组名[行数][列数];
int arr[4][5];
[0,0][0,1][0,2][0,3][0,4]
[1,0][1,1][1,2][1,3][1,4]
[2,0][2,1][2,2][2,3][2,4]
[3,0][3,1][3,2][3,3][3,4]

使用:数组名[行下标][列下标];
    行下标:0~行数-1
    行下标:0~列数-1

遍历:一般需要与双层for循环配合,外层循环负责遍历行,内层循环负责遍历列
    int arr[4][5];
    for(int i=0; i<4; i++)
    {   
        for(int j=0; j<5; j++)
        {
            printf("%d ",arr[i][j]);
        }
        printf("\n");
    } 

初始化:
类型名 数组名[行数][列数]={{第一行},{第二行},...};
注意:
    1、大括号内数据可以全部省略,那么就自动补0
    2、大括号数据和列数不省略,行数可以省略,编译器会自动计算行数
    3、不能省略二维数组的列数

四、变长数组
定义数组时,使用变量作为数组的长度,这种数组称为变长数组
特点:在代码编译期间数组的长度是不确定的,当执行到数组的定义语句时长度才最终确定下来,并且一旦确定长度也无法改变
int n = 0;
scanf("%d",&n);
int arr[n];
优点:可以根据实际情况来确定数组的长度,从而节约内存
缺点:初始化发生在编译期间,而可变长数组长度的确定发生在运行期间,因此可变长数组无法初始化文章来源地址https://www.toymoban.com/news/detail-551102.html

到了这里,关于c语言学习4的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C语言学习分享(第六次)------数组

    💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:C语言学习分享⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习更多C语言知识   🔝🔝 啊~~,很久没有更新C语言知识了,各位久等了,本篇文章在了解了数组的基本知识后, 着重于给大家实现两个小游戏:三子棋和扫雷

    2024年02月03日
    浏览(63)
  • 【C语言】从零开始学习数组

    💓博客主页:江池俊的博客 ⏩收录专栏:C语言初阶之路 👉其他专栏:数据结构探索 💻代码仓库:江池俊的代码仓库 🎪 社区:GeekHub社区 (欢迎大家加入与我一起探讨学习经验) 🍁 如果觉得博主的文章还不错的话,请点赞👍收藏🌟 三连支持一下博主💞 目录 一、一维数

    2024年02月15日
    浏览(52)
  • C语言学习day15:数组强化训练

    题目一: 称体重:分别给10个值,来获得最大值 思路: 定义数组,给数组内赋10个值 第一个下标的值与第二个下标的值进行比较 定义max,将比较得来的较大的值赋值给max 一直比较直到比较到最后一个下标,将得到的最大值赋值给max 代码: 结果: 题目二:数组逆置 数组逆

    2024年02月21日
    浏览(44)
  • C语言入门教程,C语言学习教程(第三部分:C语言变量和数据类型)二

    前面我们多次提到了字符串,字符串是多个字符的集合,它们由 \\\" \\\" 包围,例如 \\\"http://c.biancheng.net\\\" 、 \\\"C语言中文网\\\" 。字符串中的字符在内存中按照次序、紧挨着排列,整个字符串占用一块连续的内存。 当然,字符串也可以只包含一个字符,例如 \\\"A\\\" 、 \\\"6\\\" ;不过为了操作方

    2024年01月17日
    浏览(51)
  • 前端学习C语言 - 数组和字节序

    本篇主要介绍: 一维二维数组 、 字符数组 、 数组名和初始化注意点 以及 字节序 。 初始化 有以下几种方式对数组初始化: Tip :以上写法创建的数组都是 不可变大小的 。 练习1 题目 : int a[5] = {1} ,请问 a 的每个值是多少? 输出: 1 0 0 0 0 。 在C和C++中,当我们创建数组

    2024年02月09日
    浏览(46)
  • C语言学习记录——找数组中的鞍点

    目录 C语言中 鞍点的定义  代码的实现 思路分析图解  指一个矩阵中,即该位置上的元素在该行上最大,在该列上最小。 一个二维数组可能没有鞍点。 例如:1,2,3            4,5,6            7,8,9 该矩阵中,鞍点为3所在的位置。 即数组坐标[ 0 ] [ 2 ],在第一行第三

    2024年02月04日
    浏览(40)
  • 【JAVA】数据类型与变量(主要学习与c语言不同之处)

    ✅作者简介:大家好,我是橘橙黄又青,一个想要与大家共同进步的男人😉😉 🍎个人主页:橘橙黄又青-CSDN博客 目标: 1. 字面常量 2. 数据类型 3. 变量 在上节课 HelloWorld 程序中, System.Out.println(\\\"Hello World\\\") ; 语句,不论程序何时运行,输出的都是 Hello World,其实 \\\"Hello Wo

    2024年03月28日
    浏览(48)
  • 一般开发Unity 使用什么语言,需要学习什么知识

    一般来说,开发Unity使用的是C#语言。要学习Unity开发,你需要学习的知识包括: C#语言的基础知识 Unity的基本使用方法 常用的游戏编程模式,如游戏循环、场景切换、碰撞检测等 了解游戏对象、资源、动画、物理等概念 了解常用的游戏开发插件和工具,如脚本编辑器、版本

    2024年02月13日
    浏览(59)
  • Go语言学习Day1:什么是Go?

    名人说:莫道桑榆晚,为霞尚满天。——刘禹锡(刘梦得,诗豪) 创作者:Code_流苏(CSDN) (一个喜欢古诗词和编程的Coder😊) 1、走近Go ①Go语言的Logo Go语言,通常被称为Golang,是一种高效、静态类型的编程语言,旨在简化多核心、网络编程及大型软件项目的开发。Go语言的

    2024年03月22日
    浏览(43)
  • 【Golang】一篇文章带你快速了解Go语言&为什么你要学习Go语言

    目录 1. 为什么互联网世界需要Go语言 1.1 硬件限制:摩尔定律已然失效  1.2 Go语言为并发而生 1.3 Go性能强悍 1.4 Go语言简单易学 1.4.1 语法简洁 1.4.2 代码风格统一 1.4.3开发效率高  2.Go语言的诞生与发展 2.1什么是Go语言   2.2 Go语言的诞生 2.3 Go Gopher——Go语言的吉祥物 3. 为什么

    2024年02月04日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包