前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【c语言】知识记录——数组

【c语言】知识记录——数组

作者头像
用户11292525
发布2024-09-26 11:01:16
880
发布2024-09-26 11:01:16
举报
文章被收录于专栏:学习

一、数组是什么?

1. 概念

顾名思义,数组是一组相同类型数据的集合。

需要注意的两点是 ①数组存放数据个数为 1个或多个(即存放个数不得为0)

②多个数据的类型是 相同的

2. 分类

数组分为 一维数组 和 多维数组(多维数组常见为二维数组)

二、一维数组

1. 语法形式

数据名 + 数组名称(自己随便取的)[ ] (常量值,用于决定数组大小)

代码语言:javascript
复制
 如    int  arr [10]  
2. 初始化
代码语言:javascript
复制
//完全初始化
int arr [ 6 ] ={1,1,9,4,1,0};

//没完全初始化
int arr1 [100]={1,2,3}; 

默认剩下没初始化的存放 0

//如果你写的是int arr[],没规定多少个数组元素
//那请 务必 一定 要 完 全初始化!!!!

int arr [] = {1,2,3,4,5};
这就是默认其数组元素为5

如图所示,一开始的存放没赋值默认都是0

代码语言:javascript
复制
int arr [ 6 ] ={1,1,9,4,1,0};
3. 关于类型

去掉数组名就是数组的类型

代码语言:javascript
复制
int a [10]  //数组类型不是int!!!
              //int是数组元素的类型!!

即 int arr[10] 的类型是 int [10]

同理

char bb [5] //其数组的类型是 char [5]
4. 关于下标

数组是有下标的 数组下标从0开始

————注意!一个陷阱!

代码语言:javascript
复制
int arr[5]={1,2,3,4,5};

printf("%d\n",arr[4]);

此时运行下标为4的数组arr 出现的是你定义的5!

5. 关于存放

一维数组在内存中是连续存放的

6. 输入与输出

此处我们建议用循环结构来输入更省事

代码语言:javascript
复制
int main()
{

int arr[5]={0};
int i = 0;

//输入数组的内容
for(i=0;i<5;i++)
{
  scanf("%d",& arr[5]);
}

//输出数组的内容
for(i=0;i<5;i++)
{
  printf("%d",arr[5]);
}

return 0;

}
7. 字节长度
代码语言:javascript
复制
int main()
{
	int arr[10] = {0};
	printf("%zd\n", sizeof(arr));
	printf("%zd\n", sizeof(int[10]));//数组类型和数组整体的长度一样欸
	printf("%zd\n", sizeof(arr[0]));

	return 0;

二维数组

1. 二维数组的理解

如图,二维数组这就像把一堆一维数组存放的集合

(just like一维数组的数组哈哈哈哈哈)

2. 语法形式

数据名 数组名称 [ ] [ ]

代码语言:javascript
复制
如 int arr [5][6]
3. 初始化

一维数组和二维数组初始化区别

4. 关于下标

同样,从0开始

5. 关于存放

二维数组在内存中存放跟一维一样,是连续存放的

这里我们就可以把其看出三个一维数组

如 arr [3] [4]

我们可以运用这种方法来控制二维存放的不同行

6. 输入与输出

但凡数组,咱都用循环结构

代码语言:javascript
复制
int main()
{
  int arr [3][4];
  int i = 0;
  
  //输入
  for (i = 0;i < 3;i++)
  { 
      int j = 0;
      for (j = 0;j < 4;j++) 
       {
           arr[i][j];
       } 
  }
 

  //输出
  for (i = 0;i < 3;i++)
  {
      int j = 0;
      for(j = 0;j < 4;j++)
       {
           printf("%d ",arr[3][4]);
       }
      printf("\n");
  }
  
  return 0;
}

后记

好嘞,一个下午才写了这么点东西QAQ

感觉还没有写的很全面来着

大概就先记录这些,以后不会了能翻回来看看

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-02-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、数组是什么?
    • 1. 概念
      • 2. 分类
        • 1. 语法形式
        • 2. 初始化
        • 3. 关于类型
        • 4. 关于下标
        • 5. 关于存放
        • 6. 输入与输出
        • 7. 字节长度
        • 1. 二维数组的理解
        • 2. 语法形式
        • 3. 初始化
        • 4. 关于下标
        • 5. 关于存放
        • 6. 输入与输出
    • 二、一维数组
    • 三、二维数组
    • 后记
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档