Linux C语言:数组的定义和初始化
一、数组
1、定义
在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来,具有一定顺序关系的若干个变量的集合就是数组 。
2、特点
- 组成数组的各个变量称为数组的元素
- 数组中各元素的数据类型要求相同
- 元素在内存中是连续依次排列的
- 构造数据类型之一
二、一维数组
1、定义
- 只有一个下标的数组。它在计算机的内存中是连续存储的。
- C语言中,一维数组的说明一般形式如下:
<数据类型 > <数组名>[元素数量]
- 元素数量必须是整数
- 一旦创建不能改变元素的数量
int a[10];
2、一维数组的初始化
- 方式一:元素全部初始化
int a[5] = {1, 2, 3, 4, 5};
- 方式二:元素部分初始化
int a[5] ={1, 2 };
- 方式三:元素全部没初始化
int a[5];全局数组默认是0,局部数组值是不确定
- 方式四:省略元素数量初始化
int a[ ] = {1, 2, 3, 4, 5};
数组元素数量的个数就是初始化数值的个数
3、一维数组的引用
- 数组必须先定义,后使用
- 只能逐个引用数组元素,不能一次引用整个数组
- 数组元素表示形式:数组名[下标]
其中:下标可以是常量或整型表达式
int a[10];
printf(“%d”, a); (×)
for(j=0;j<10;j++)
printf(“%d\t”, a[j]); (√)
4、一维数组的内存分配
- 数组的元素是连续存储的
- 数组占用内存空间 = 数组元素个数 * sizeof(元素数据类型)
5、数组名的含义
- 数组名代表整个数组
- 数组名代表数组的首地址 (类似指针,后面会讲)
- 数组占用内存空间 = sizeof(数组名)
- 数组元素个数 = sizeof(数组名) / sizeof(元素数据类型)
6、数组越界
- 数组越界是指数组下标取值超过了数组元素数量的大小,这样对数组元素的访问超出了数组范围
- C语言对数组不作越界检查,编译不报错,程序员要特别注意编程的严谨些。
int a[5]; a[5] = 10 (×)
三、二维数组
1、定义
(1)定义方式:数据类型 数组名[行数][列数]; →元素个数=行数*列数
int a[3][4];
float b[2][5];
(2)数组元素的存放顺序
- 二维数组:按行序优先
2、二维数组元素的引用
- 形式:数组名[下标][下标]
- 二维数组的初始化
3、二维数组的理解
4、二维数组的遍历
- 使用循环语句,打印二维数组的所有元素
// II. 打印二维数组中的字符串for(i = 0; i < num; i++){// 使用数组下标形式访问printf("%s\n", array[i]);// 使用指针访问//printf("%s\n", *(array + i));}
相关文章:
Linux C语言:数组的定义和初始化
一、数组 1、定义 在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来,具有一定顺序关系的若干个变量的集合就是数组 。 2、特点 组成数组的各个变量称为数组的元素数组中各元素的数据类型要求相同元素在内存中是连…...
spring框架限制接口是否要登录过才能访问
1、引入spring 、spring boot依赖,这部分不再多说,正常开发spring boot项目就可以。 2、定义类,实现WebMvcConfigurer接口 package com.hmblogs.config;import com.hmblogs.config.web.interceptor.PortalTokenInterceptor; import org.spri…...
【全开源】废品回收垃圾回收小程序APP公众号源码PHP版本
🌟废品回收小程序:绿色生活的新助手🌱 一、引言 随着环保意识的逐渐提高,废品回收成为了我们日常生活中的重要一环。但是,如何更方便、高效地进行废品回收呢?今天,我要向大家推荐一款超级实用…...
勒索软件分析_目标文件扫描行为分析
BlackBasta首先通过 FindFirstVolumeW 与 FindNextVolumeW 实现系统中第一个卷的搜索和其余卷的遍历,之后通过 GetVolumePathNamesForVolumeNameW 检索指定卷的驱动器号和挂载的文件夹路径列表,然后通过 GetVolumeInformationW 获取关于指定卷的信息,具体代码如下所示。 Fin…...
2024050401-重学 Java 设计模式《实战代理模式》
重学 Java 设计模式:实战代理模式「模拟mybatis-spring中定义DAO接口,使用代理类方式操作数据库原理实现场景」 一、前言 难以跨越的瓶颈期,把你拿捏滴死死的! 编程开发学习过程中遇到的瓶颈期,往往是由于看不到前进…...
HTML跨年烟花
目录 写在前面 关于小编 HTML简介 程序设计 系列文章 写在后面 写在前面 学会了这个html烟花秀,跨年就不缺文案喽~ 关于小编 平易近人,慈眉善目,爱交朋友,舍己为人,和蔼可亲,能说会道,…...
微服务第二轮
学习文档 背景 由于每个微服务都有不同的地址或端口,入口不同 请求不同数据时要访问不同的入口,需要维护多个入口地址,麻烦 前端无法调用nacos,无法实时更新服务列表 单体架构时我们只需要完成一次用户登录、身份校验ÿ…...
线性模型-分类
一、线性判别分析LDA 线性判别分析是一种经典的线性学习方法,在二分类问题上最早是Fisher提出的,亦称为Fisher判别分析。 Fisher判别分析是一种用于降维和分类的统计方法,旨在找到可以最好区分不同类别的特征。它基于类内方差和类间方差的比…...
OpenAI前董事会成员称Sam Altman因 “ 向董事会撒谎 ” 而被解雇
据前 OpenAI 董事会成员称,据称 Altman 隐瞒了他对 OpenAI 创业基金的所有权。 更详细的内容请参考原文: https://cointelegraph.com/news/sam-altman-fired-openai-board-allegations 据一位前董事会成员称,Sam Altman 因涉嫌向董事会隐瞒…...
【启明智显分享】WIFI6开发板ZX6010:开源OpenWrt SDK,接受定制!
在数字化飞速发展的当下,网络速度和稳定性已成为各行各业不可或缺的关键因素。今天,我们为大家推荐一款基于IPQ6010的AX1800方案ZX6010 Wi-Fi6开发板,为您的网络世界注入强大动力。 一、超强硬件配置 ZX6010搭载IPQ6010四核ARM Cortex A53处…...
C语言能否使⽤ fflush( ) 函数清除多余的输⼊?
一、问题 在从终端输⼊数据时,很可能会输⼊多余的数据,那么能否使⽤ fflush( ) 函数清除呢? 二、解答 fflush( ) 函数只是⽤在⽂件以写的⽅式打开时,将缓冲区内容写⼊到⽂件。因此 fflush( ) 函数仅对输出流有效,对输…...
如何把试卷上的字去掉再打印?分享三种方法
如何把试卷上的字去掉再打印?随着科技的不断发展,现代教育和学习方式也在逐渐变革。在学习过程中,我们经常需要对试卷进行整理和分析,以便更好地掌握知识点和复习。然而,传统的试卷整理方法往往效率低下且容易出错。幸…...
Android开机动画压缩包zip,自制开机动画(基于Android10.0.0-r41)
文章目录 Android开机动画压缩包zip,自制开机动画1.Android加载压缩包原理2.自制开机动画 Android开机动画压缩包zip,自制开机动画 1.Android加载压缩包原理 这里有个md文件我们看下 核心部分, 首先要创建一个文件叫做desc.txt,这是规定的…...
手机站怎么推广
随着手机的普及和移动互联网的快速发展,越来越多的人开始使用手机进行在线购物、社交娱乐、阅读资讯等,同时也催生了越来越多的手机站的出现。但是,在海量的手机站中,要让自己的手机站脱颖而出,吸引更多用户访问和使用…...
Mysql疑难报错排查 - Field ‘XXX‘ doesn‘t have a default value
项目场景: 数据库环境 :mysql8; 工程使用:MyBatisPlus 表情况: 问题描述 某一个插入语句使用了 MyBatisPlus 的 save 方法,因为end_time1 end_time2都并没有值,所以在MyBatisPlus默认情况下,…...
YOLOv8_obb预测流程-原理解析[旋转目标检测理论篇]
YOLOv8_obb的预测流程,主要分预处理模块、推理模块和后处理模块。这里面有很多内容是和目标检测预测流程是重合的,主要区别在于Angle分支、NMS后处理以及regularize_rboxes部分。本文也主要介绍一下这三个模块,其他模块可以结合YOLOv8预测流程-原理解析[目标检测理论篇]一起…...
02JAVA字符串和集合
1.字符串 1.String 介绍: String在java.lang包下,使用不需要导包,String代表字符串,带""字符串都是String类的对象 字符串的特点: 字符串不可变,他们的值在创建后不能被改变 字符串效果相当于(char[]),底层原理是字节数组(byte[]) String构造方法: String 变量名 ne…...
Qt如何让按钮的菜单出现在按钮的右侧
直接上代码,我们用到了一个eventfilter的函数功能。这个函数比较厉害和重要,大家务必经常拿出来看看。 void MainWindow::initMenu() { QMenu* menuLiXiang new QMenu; QAction* actXiangMuZhangCheng new QAction("项目章程"); …...
C++的类和new和delete和菱形继承机制
文章目录 参考虚函数使用虚函数的class结构相关实现源码IDA反编译子类虚表和父类虚表调用函数菱形继承 参考 https://showlinkroom.me/2017/08/21/C-%E9%80%86%E5%90%91%E5%88%86%E6%9E%90/ https://www.cnblogs.com/bonelee/p/17299985.html https://xz.aliyun.com/t/5242?t…...
Redis教程(二十二):Redis的过期删除和缓存淘汰策略
传送门:Redis教程汇总篇,让你从入门到精通 一、过期删除策略 Redis 中的过期删除策略是与 Redis 管理键的生命周期相关的一系列操作,用于删除过期的Key以释放内存。Redis 提供了三种主要的过期删除策略: 1、惰性删除(Lazy Expiration) 工作原理:当客户端尝试访问一个…...
(开头直接进入主题,无废话)
(ISAR RD成像)feko仿真单站RCS,使用其导出的.ffe数据,基于MATLAB进行RD算法的ISAR成像 可以直接运行出结果,适合初学者参考和学习 从feko仿真到ISAR成像,全流程数据和代码都给你 我自己也曾是初学者&#x…...
基于Python的二分类神经网络实战项目
项目简介本项目是一个基于Python的完整神经网络实战案例,旨在通过构建一个双层全连接神经网络(输入层-隐藏层-输出层),解决经典的二分类问题。项目涵盖了从数据生成、模型构建、训练优化到结果可视化的全流程,适合作为…...
ESP32/ESP8266轻量级二进制RPC库设计与实践
1. 项目概述esp_rpc是一个专为 ESP8266 和 ESP32 平台深度优化的轻量级远程过程调用(Remote Procedure Call, RPC)库。其设计哲学直指嵌入式资源受限场景的核心矛盾:在极小内存占用(ROM/RAM 双敏感)与可靠跨设备交互之…...
Python安全编程:保护你的代码和数据
Python安全编程:保护你的代码和数据 前言 大家好,我是第一程序员(名字大,人很菜)。作为一个非科班转码、正在学习Rust和Python的萌新,最近我开始关注Python的安全编程。说实话,一开始我对安全编…...
Windows下IDEA远程开发全离线配置指南(含JetBrainsClient避坑)
Windows下IDEA远程开发全离线配置实战指南 最近在给某金融机构做内部开发环境迁移时,遇到了一个棘手问题:他们的生产网络完全隔离外网,但开发团队又急需使用IDEA的远程开发功能。经过两周的反复试验,终于摸索出一套完整的离线配置…...
Edge/Chrome用户必看:3种免费工具批量清理失效书签(2023实测)
Edge/Chrome用户必备:2023年高效清理失效书签的3种解决方案 每次打开浏览器,看到密密麻麻的书签栏却找不到真正可用的链接?这可能是大多数互联网用户的日常困扰。根据2023年用户调研数据显示,平均每位浏览器用户拥有超过200个书签…...
Mark Text vs Typora:免费开源Markdown编辑器的终极对比(附详细配置指南)
Mark Text vs Typora:开源与商业Markdown编辑器的深度解析与迁移指南 如果你正在寻找一款能够替代Typora的Markdown编辑器,同时又希望它免费且开源,那么Mark Text绝对值得你深入了解。这两款编辑器都以简洁优雅著称,但在细节处理…...
RC4算法逆向实战:从特征识别到魔改对抗
1. RC4算法基础与逆向特征识别 RC4算法作为经典的流加密算法,在CTF竞赛和恶意软件分析中频繁出现。我第一次逆向分析RC4加密的样本时,花了整整三天才确认算法类型——因为当时的我还不熟悉它的特征指纹。现在回头看,识别标准RC4其实有明确的规…...
2026年,探秘义乌一次性包装盒定做厂家的独特工艺与优质服务!
在商品包装需求日益多样化的今天,一次性包装盒的定制市场愈发繁荣。义乌,作为全球知名的小商品之都,拥有众多一次性包装盒定做厂家,它们以独特的工艺和优质的服务在市场中占据一席之地。今天,我们将走进一家具有代表性…...
Python脚本:一键将图片按顺序合成PDF
📌 前言在日常工作和学习中,我们经常需要将多张图片(如扫描件、截图、照片)合并成一个PDF文件。虽然有很多现成的工具可以实现,但用Python自己写一个脚本不仅灵活,还能避免上传到第三方网站带来的隐私风险。…...
