首页 > 其他分享 >1.6数组

1.6数组

时间:2024-03-13 09:31:51浏览次数:27  
标签:10 1.6 初始化 int arr6 二维 数组

一.序言

数组是一组类型相同类型元素的集合,数组的定长的(数组的长度一旦被定义,长度不可改变)。

数组在内存当中是一块连续的空间,可以保存相同类型的多个元素。

二.一维数组

2.1.数组的创建

int arr1[10];        //整形类型数组

char arr2[10];        //字符类型的数组

float arr3[10];        //单精度浮点数的数组

double arr4[10];        //双精度浮点数的数组

在数组的创建中,要加一个[]        这个符号是半角状态。[]中要给一个常量才可以,不能使用常量。

2.2.数组的初始化

int arr2[10] = {1,2,3};

在数据创建的过程中,初始化的数值可以等于定义的常量的数值,也可以少于定义的常量数值。

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

也可以不指定数组大小的数组,如上图。

其中有一个特殊的

字符数组

char arr5[6] = "abcdef"

此时,f是不能打印出来的,因为在字符数组中,数组有个结束语\0 。虽然它并不出现但是它是占内存的。

2.3.数组在内存中的应用

1.数组在内存中开辟是线性连续且递增的。

2.在C语言中,任何变量的空间都是整体开辟的,但是任何元素的起始地址一定是开辟字节中最小的。

三.二维数组

3.1一维和两维的图形解释

我们来类比一下一维数组和二维数组

 第一个是以为数组,第二个是二维数组。从图中可以看到,二维数组是一个空间模型。

3.2二维数组的初始化

int arr6[3][5];                //指3行5列哦

char arr7[3][5];

double arr8[3][5];

3.3二维数组的初始化

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

int arr6[3][5] = { 0 };

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

二维数组的列能够省略,但是行不能省略。

因为行省略了就不能确定一行有多少元素。

本次分享到此结束,如有问题,欢迎提问;如有错误,感谢指正。

祝大家生活愉快,下次我们分享函数。

标签:10,1.6,初始化,int,arr6,二维,数组
From: https://blog.csdn.net/2301_80291509/article/details/136591352

相关文章

  • 二维树状数组
    二维树状数组模板单点修改,子矩阵查询暴力的把一维拓展到二维,直接然后按照一维的方法搞就OK,参考代码:voidinsert(intx,inty,intz){for(inti=x;i<=n;i+=lowbit(i))for(intj=y;j<=m;j+=lowbit(j))d[i][j]+=z;}intgetsum(intx,inty){intsum=0;for(......
  • c语言函数传递数组名
    c语言自定义函数中可以在形参中可以使用数组名作为传递代码示例如下#include<stdio.h>floatave(floata[]){ inti; floatb; floatsum=a[0]; for(i=1;i<10;++i) sum=sum+a[i]; b=sum/10; returnb;}intmain(){ floatnum[10],average; inti; for(i=0;i......
  • abc222D 夹在两升序数组之间的升序数组个数
    给定长度为n的两升序数组A[i]和B[i],其中A[i]<=A[i+1],B[i]<=B[i+1],并且0<=A[i]<=B[i]<=3000,找长度为n的数组C[i],满足A[i]<=C[i]<=B[i]。求满足该条件的C的个数,结果对998244353取余。1<=n<=3000设dp[i][j]表示前i个数以j结尾的方案数,那么$dp[i][j]=\sum_{k=0}^{j}dp[i-1][k]$,这......
  • 02-数组、排序、查找
    数组数组是一种引用数据类型,所以数组对象实际上存储在堆内存当中数组实际上是一种容器,可以容纳多个元素数组中存储的是基本数据类型的数据,或者是引用数据类型的引用(不能直接存储Java对象)长度不可变,起始位置是0,最后一个下标是length-1所有的数组对象都有length属性Java中......
  • 树状数组
    树状数组基础基础部分点击查看代码......
  • 【IC验证】数组
    一、非组合型数组1.声明logic[31:0]array[1024];或者logic[31:0]array[1023:0];或者logicarray[31:0][1023:0];理解成一维数组就表示array数组中有1024个数据,每个数据32bit。也可以理解为二维数组。int[1:0][2:0]a1[3:0][4:0]这是一个4×5×2×3维(高维-......
  • 一维数组和二维数组传参是不同的:
    数组传参,传递的实质是首元素的地址。(一)一维数组例:写一个函数对将一个整型数组的内容,全部置为-1,再写一个函数打印数组的内容.#include<stdio.h>voidreset(intarr[],intx)//形参和实参名可以相同也可以不相同{ inti=0; for(size_ti=0;i<x;i++) { arr[i......
  • 蓝桥杯2019年第十届省赛真题-修改数组
    查重类题目,想到用标记数组记录是否出现过但是最坏情况下可能会从头找到小尾巴,时间复杂度O(n2),数据范围106显然超时再细看下题目,我们重复进行了寻找是否出现过,干脆把每个元素出现过的次数k记录下来,直接跳到后k个位置,实现O(n)#include<stdio.h>#include<string.h>#inclu......
  • 【算法】【线性表】【数组】在排序数组中查找元素的第一个和最后一个位置
    1 题目给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1,-1]。你必须设计并实现时间复杂度为 O(logn) 的算法解决此问题。示例1:输入:nums=[5,7,7,8,8,......
  • (C++)树状数组和线段树的VSCode Snippet
    学都学了,肯定要往snippet里塞好东西嘛{ //Placeyoursnippetsforcpphere.Eachsnippetisdefinedunderasnippetnameandhasaprefix,bodyand //description.Theprefixiswhatisusedtotriggerthesnippetandthebodywillbeexpandedandinserted.......