首页 > 其他分享 >学习C语言(6)

学习C语言(6)

时间:2024-07-22 10:56:53浏览次数:17  
标签:初始化 arr int 元素 C语言 学习 二维 数组

  整理今天的学习内容

1. 数组的概念

数组是一组相同类型元素的集合,数组元素个数不能为0

2.一维数组的介绍

(1)数组创建语法

type   arr_name[常量值]

  ↑             ↑            ↑

类型     数组名  指定数组大小

(2)数组的初始化

完全初始化:如:int arr[5]={1,2,3,4,5};

不完全初始化:如:int arr[5]={1};(第一个元素初始化为1,剩余元素默认初始化为0)

(3)数组类型

数组的类型算是一种自定义类型,去掉数组名剩下的就是数组的类型

如:int arr[5] 中arr数组的类型是 int[5]

(4)数组下标

数组下标从0开始,若数组有n个元素,最后一个元素的下标是n-1,下标相当于数组元素的编号

数组的访问需要用到下标引用操作符  [ ]

3.一维数组的使用 

(1)数组元素的打印

使用for循环

(2)数组的输入

 

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

依次打印数组元素的地址(用占位符%p)

 

在64位(X64)的环境下,地址较长

在32位(X86)的环境下,地址较短 

地址是按照16进制的形式打印出来的,每两个相邻元素之间相差4个字节,数组在内存中是连续存放的

5.sizeof计算数组元素的个数

sizeof用于计算类型或变量大小,也可以计算数组的大小

这样需要数组个数的地方可以不用写死,便于更改

6. 二维数组的介绍

(1)二维数组是以一维数组作为数组元素的数组,三维数组是以二维数组为数组元素的数组,二维数组以上的数组统称为多维数组

(2)语法形式

type   arr_name[常量值1] [常量值2]        

 ↑             ↑              ↑                ↑

类型   数组名   数组行数  每一行的数组数

(3)初始化

 不完全初始化:如:int arr[3][5]={1,2};(数组第一行前两个元素是1,2,其余为0)

                                  int arr[3][5]={0};(数组元素全为0)

完全初始化:如:int arr[3][5]={1,2,3,4,5,  2,3,4,5,6  3,4,5,6,7}; 

按照行初始化:如:int arr[3][5]={{1,2},{3,4},{5,6}}; (每行开头两个元素用大括号括起来)

 初始化时可以省略行,但不能省略列

int arr[][5]={1,2}; (同int arr[3][5]={1,2};)

int arr[][5]={1,2,3,4,5,6,7,8}; (前五个元素为第一行,其余第二行,第三行全为0)

 int arr[][5]={{1,2},{3,4},{5,6}};(同int arr[3][5]={{1,2},{3,4},{5,6}}; )

(4)二维数组的下标

二维数组的访问使用下标的形式,行从0开始,列也从0开始

 

7.二维数组的输入和输出

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

 

 二维数组中每个元素都是连续存放的

标签:初始化,arr,int,元素,C语言,学习,二维,数组
From: https://blog.csdn.net/lxl1307/article/details/140577022

相关文章

  • C语言数组的相关案例
    引导案例:数组的遍历:这里需要注意的是我们在遍历数组时是使用for循环,这里则需要计算数组的长度计算公式:sizeof(数组名)/sizeof(数组的数据类型)#include<stdio.h>intmain(){ intarr[]={1,2,3,4,5,6,7,8,9,10}; intlength=sizeof(arr)/sizeof(int); for(i......
  • Python学习计划——2.4列表推导式(List Comprehensions)
    列表推导式是Python的一种简洁且强大的语法,用于生成新的列表。它可以用更少的代码、更清晰的方式来创建列表,特别是在处理简单的循环和条件操作时。1.基本语法列表推导式的基本语法如下:[expressionforiteminiterable]expression:表达式,计算结果用于生成列表的元素。ite......
  • Python学习计划——2.3常用内置函数(len, max, min, sum, etc.)
    Python提供了许多内置函数,用于简化对数据结构的操作。以下是一些常用的内置函数及其详细说明。1.len()len()函数用于返回对象(如列表、元组、字符串、字典等)的长度(元素个数)。示例:#列表fruits=["apple","banana","cherry"]print(len(fruits))#输出:3#元组c......
  • Nodify学习 四:预先连接
    前置预先连接可以从连接器创建预先连接,并可以放置在ItemContainer或Connector上(如果AllowOnlyConnectors为false)。预先连接的Content可以使用ContentTemplate进行自定义。如果EnablePreview为true,PreviewTarget将更新为鼠标光标下的连接器或项目容器,或者为null(如果没有这样的元......
  • 算法学习(算法笔记胡凡)
    目录考生排序递归问题数塔问题回文字符串棋盘覆盖问题盒分形自然数分解之最大积自然数分解之方案数01串STL练习迭代器的使用考生排序https://sunnywhy.com/sfbj/4/1/92结构体的使用,sort函数的使用递归问题数塔问题https://sunnywhy.com/sfbj/4/3/116动态规划问题dp例如给......
  • 基于c语言的贪吃蛇小游戏附带源码
    #include<stdio.h>#include<conio.h>#include<windows.h>#include<time.h>#defineframex5#defineframey5#definewide20#definehigh20inti,j,a[2];//将光标移动到指定位置voidgotoxy(HANDLEhout,intx,inty){//COORD是WindowsAPI中定义......
  • ML.NET:一个.NET开源、免费、跨平台的机器学习框架
    前言今天大姚给大家分享一个.NET开源、免费、跨平台(支持Windows、Linux、macOS多个操作系统)的机器学习框架:ML.NET。并且本文将会带你快速使用ML.NET训练一个属于自己的图像分类模型,对图像进行分类。ML.NET框架介绍ML.NET允许开发人员在其.NET应用程序中轻松构建、训练......
  • 深入浅出C语言指针(基础篇)
    目录引言一、认识指针指针是什么? 二、指针变量和地址1.取地址操作符2.指针变量3.解引用操作符 4.指针变量的大小 三、指针和指针类型1.指针的类型2.指针+-整数3.指针的解引用四、const修饰指针变量 1.const修饰指向的数据2.const修饰指针本身3.const同......
  • 基于深度学习网络的USB摄像头实时视频采集与手势检测识别matlab仿真
    1.算法运行效果图预览(完整程序运行后无水印) 训练过程如下:   将摄像头对准手势,然后进行识别,识别结果如下:   本课题中,使用的USB摄像头为:   2.算法运行软件版本MATLAB2022a 3.部分核心程序程序中包括MATLAB读取摄像头的配置方法,摄像头配置工具......
  • 【机器学习】FastGPT 知识库搜索测试功能解析
    本文以FastGPT知识库的搜索测试功能为入口,分析FastGPT的知识检索流程。一、搜索功能介绍1.1整体介绍搜索测试功能包含三种类型:语义检索、全文检索、混合检索。语义检索:使用向量进行文本相关性查询,即调用向量数据库根据向量的相似性检索;全文检索:使用传统的全文检索,适......