当前位置: 首页 > news >正文

移动网站建设条件云客微信管理系统

移动网站建设条件,云客微信管理系统,wordpress版本对应的php版本号,青岛网站制作网站😊个人主页: 起名字真南 😋个人专栏:【数据结构初阶】 【C语言】 【C】 目录 1 数组的概念2 一维数组的创建和初始化2.2 数组的初始化2.3 数组类型 3 一维数组的使用3.1 数组下标3.2 数组的输入 4 一维数组在内存中的存储5 sizeof计算数组中的元素6 二维…

😊个人主页: 起名字真南
😋个人专栏:【数据结构初阶】 【C语言】 【C++】

请添加图片描述

目录

  • 1 数组的概念
  • 2 一维数组的创建和初始化
    • 2.2 数组的初始化
    • 2.3 数组类型
  • 3 一维数组的使用
    • 3.1 数组下标
    • 3.2 数组的输入
  • 4 一维数组在内存中的存储
  • 5 sizeof计算数组中的元素
  • 6 二维数组
    • 6.1 二维数组的概念
    • 6.2 二维数组的创建
  • 7 二维数组初始化
    • 7.1 不完全初始化
    • 7.2 完全初始化
    • 7.3 按照行初始化
    • 7.4 省略行进行初始化
  • 8 二维数组的使用
    • 8.1 二维数组的下标
    • 8.2 二维数组输出和使用
  • 9 二维数组在内存中的存储

1 数组的概念

数组是一组相同类型元素的集合 :

  • 数组中存放的是一个或多个数据数组中元素的个数不能为0
  • 数组中存放的数据他们的类型都是相同的。
    数组分为一维数组和多维数组,其中多维数组大部分指的是二维数组

2 一维数组的创建和初始化

一维数组创建的基本语法如下:

type arr_name[常量];

存放在数组中的值被称为数组元素,数组在创建的时候可以指定数组的大小和数组的元素类型。

  • type:是数组的元素类型可以是int 、char 、double 、float、还可以是自定义类型
  • arr_name:是数组的名字有意义即可
  • [] : 里面存放的是数组元素的个数,里面存放的是常量值

比如我们想创建某个班级里面10个学生的成绩,我们可以创建如下数组:

int manth[20];

2.2 数组的初始化

//完全初始化
int arr[5] = {1,2,3,4,5};
//不完全初始化
int arr_1[5] = {1};  //第一个元素初始化为1,其余元素初始化为0
//错误初始化
int arr_2[5] = {1,2,3,4,5,6};//初始化项大于5

2.3 数组类型

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

int arr1[5] = {1,2,3,4,5}
char ch[6] = {'a','b','c','d','e','\0'}

arr1 的数组类型就是 int [5]
ch 的数组类型就是 char [6]

3 一维数组的使用

3.1 数组下标

C语言规定数组是有下标的,下标从0开始,假设数组有n个元素,最后一个元素的下标就是n-1

int arr[10] = {1,2,3,4,5,6,7,8,9,10}

在这里插入图片描述
在C语言中提供了一个 [] 操作符,我们可以通过数组的下标直接访问这个元素如果我们想要访问7这个元素,它的下标是6,那么就可以通过数组名[]的方式直接调用。

#include<stdio.h>int main()
{int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };for (int i = 0; i < 10; i++){printf("%d ", arr[i]);}return 0;
}

运行结果:
在这里插入图片描述
每次打印数组数据的时候通过 arr[下标] 的方式来直接调用数组中的元素。

3.2 数组的输入

如果我们想通过控制台手动向数组中输入数据时应该怎么办呢?

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>int main()
{int arr1[5] = { 0 };for (int i = 0; i < 5; i++){scanf("%d", &arr1[i]);}for (int i = 0; i < 5; i++){printf("%d ", arr1[i]);}return 0;}

运行结果:
在这里插入图片描述

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

依次打印数组中每个元素的地址:

int main()
{int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };for (int i = 0; i < 10; i++){printf("%p\n", &arr[i]);}return 0;
}

运行结果:
在这里插入图片描述
可以看到在内存中他们的存储空间是连续的10个空间,因为数组中存储的元素时int类型所以每个数据的大小都是4个字节。
我们可以打开另一个内存窗口进行观察:
在这里插入图片描述

5 sizeof计算数组中的元素

sizeof是C语言中的关键字,可以计算类型和变量的大小,也可以计算数组中元素的大小。

int main()
{int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };int arr_size1 = sizeof(arr);int arr_size2 = sizeof(arr[1]);printf("arr_size1 = %d\n", arr_size1);printf("arr_size2 = %d\n", arr_size2);return 0;
}

运行结果:
在这里插入图片描述
可以看到arr_size1时整个数组元素的大小因为数组元素的类型是int,并且有十个数据所以整个数组的大小是40,而arr[1]使用了[]操作符得到的是数组下标为1的数据,他的类型是int大小是四个字节。
接下来我们就可以计算数组中的元素个数:

int main()
{int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };int arr_size1 = sizeof(arr);int arr_size2 = sizeof(arr[1]);printf("arr_size1 = %d\n", arr_size1);printf("arr_size2 = %d\n", arr_size2);int num = sizeof(arr) / sizeof(arr[1]);printf("数组中元素的个数是 :%d",num);return 0;
}

运行结果:
在这里插入图片描述
这里的结果是10,表示数组中有十个元素。

6 二维数组

6.1 二维数组的概念

二维数组就是将一维数组作为自己的数组元素的数组。而三维数组就是以二维数组作为自己的数组元素,三维及以上数组被称为多维数组。

6.2 二维数组的创建

type arr_name[常量1][常量2];int arr[3][4];
char ch[5][6];
  • int 是二维数组中的变量类型
  • 3/5 表示创建的二维数组有3/5行
  • 4/6 表示有4/6列,即每一行有4/6个元素
  • arr/ch 则是数组名有意义即可

7 二维数组初始化

在创建变量和数组的时候,给定一些值称为初始化。

7.1 不完全初始化

不完全初始化:

int main()
{int arr1[3][5] = { 1,2 };int arr2[3][4] = { 0 };return 0;
}

初始化结果:
在这里插入图片描述

7.2 完全初始化

完全初始化 :

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

初始化结果:
在这里插入图片描述

7.3 按照行初始化

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

初始化结果 :
在这里插入图片描述

7.4 省略行进行初始化

在定义二维数组的时候可以把第一个变量省略也就是省略行数,但是每一行所有的元素个数(列数)不能省略

	int arr5[][3] = { 1,2,3,4,5,6,7,8 };

初始化结果:
在这里插入图片描述

8 二维数组的使用

8.1 二维数组的下标

C语言规定二维数组的行和列的下标都是从0开始的

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

下标:
在这里插入图片描述

8.2 二维数组输出和使用

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

初始化结果 :
在这里插入图片描述

9 二维数组在内存中的存储

int arr[3][4] = { 0 };

内存展示:
在这里插入图片描述
可以看到和一维数组一样每个地址之间相差四个字节,第一行的最后一个和第二行的第一个数组元素也是连续的并且相差了四个字节。

http://www.yayakq.cn/news/680453/

相关文章:

  • 精品建设课程网站如何查询百度收录
  • 山西响应式网站制作做网站做网站
  • 挂马网站现象临沂网站建设厂家
  • 安监网站如何做紧急预案备案二级目录 网站
  • 项目定制开发网站怎么查看网站dns
  • 建设工程消防信息网站做一家影视网站赚钱吗
  • 红色文化网站建设软文发稿平台有哪些
  • 网站建设动漫兼职做网站设计
  • 建站网址什么意思彩票网站建设策划书
  • 百家号淄博圻谷网站建设建设网站推广
  • 哪些网站是vue做的wordpress文章seo方法
  • 网站建设都梵客家装和业之峰家装哪个好
  • 崇安区网站建设价格搜寻的网站有哪些
  • 网站建设方案汇报微博营销平台
  • 网站建设方案总结语wordpress主题开发出
  • 沧州网站建设定制价格网站建设互诺科技
  • 网站开发程序是什么站酷app
  • 站长工具精品昆明的房产网站建设
  • 上海地产网站建品牌商城网站制作
  • 淘宝客的网站是自己做的吗学室内设计要多久能学会
  • 做网站高流量赚广告费做购实惠网站的意义
  • 陕西企业网站建设网站注册页面怎么做
  • 做微网站 主机 域名动画设计师月薪多少
  • 网站建网站建设seo帮帮您企业官网有哪些
  • 个人网站设计师wordpress生成微信分享图片
  • 娱乐网站建设ppt娄底高端网站建设
  • 如何建设高大上的网站软件工程就业方向及薪资待遇
  • 中国建设银行官网站诚聘英才成都广告公司工资一般多少
  • 科技设计网站有哪些内容网站的运营维护
  • 成品网站制作公司网站建设课程设计报告总结