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

印刷行业网站建设免费网站建站平台

印刷行业网站建设,免费网站建站平台,建站一般要多少钱,什么网站做聚乙烯醇好的这篇文章介绍的是数组的定义、创建、初始化、使用,在数组中输入内容并输出数组中的内容,并探讨了数组在内存中的存储。里面有些内容建议大家参考下面的一些文章,有助于加深大家对于C语言的理解: C语言(2)-…

这篇文章介绍的是数组的定义、创建、初始化、使用,在数组中输入内容并输出数组中的内容,并探讨了数组在内存中的存储。里面有些内容建议大家参考下面的一些文章,有助于加深大家对于C语言的理解:

C语言(2)------->数据类型介绍  CSDN

C语言(3)-------->变量   CSDN 

C语言(5)--------->printf函数  CSDN

C语言(6)------->scanf函数   CSDN

C语言(12)--------->for循环   CSDN

一、一维数组的定义

我们学习过变量,变量通常是用于存储某一个数据类型。例如,我们要表示一个人的年龄如何定义呢?年龄是一个整数,我们可以使用int型给它存储起来,例如这样:

int age;

在生活中,只存储一个数字的情况其实是非常少的。例如,一个班级里面有50个人,我们要存储这个班级的数学成绩,用什么去存储呢?这时候就要使用到数组了。

那什么是数组呢?C语言规定,一组相同类型的元素的组合就是数组。

二、一维数组的创建

在C语言中,数组的语法是怎样的呢?

 数据类型 数组名[]

注意:[]里面放的内容是数字,这个数字是正整数。例如,要放10个数字,我们可以在[]里面填10。(当然填10以上的数字也是可以的

 我们看一组数据:

1 2 3 4 5 6 7 8 9 10 

上面都是整数,那我们就可以使用整型数组来存储它们。

int Grade[10];

数组里面存的值我们就称为数组元素。

使用数组时,可以根据我们的需要去设计。

例如,我们要存放26个字母。我们怎么使用数组呢?

 分析:

字母是字符类型,那我们的数据类型就使用的是char类型。

有26个字母,那么[]里面的数字就是26。

所以,它的创建方式是这样:

char letter[26];//letter的中文就是字母

 三、一维数组的初始化

一维数组的初始化有两种形式,完全初始化、不完全初始化。

在初始化之前,我给大家复习一下变量的初始化。

int age;//定义一个整型变量
int Grade = 100;//定义一个整型变量并将它初始化为100

初始化就是给这个变量一个数值。

3.1完全初始化

完全初始化就是将数组的大小全部填满。

例如:

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

3.2不完全初始化

完全初始化就是将数组的大小填一部分。

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

温馨提示: 

数组如果初始化了,可以省略数组的大小设定,因为编译器会根据数组初始化的内容来确定数组的真实大小。

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

四、数组的类型

数组是自定义的数据类型。在C语言中,去掉数组名就是数组的类型。

例如:

int arr[10];

上面这个数组的数据类型就是去掉arr,也就是int [10]。

五、数组的使用

在C语言中,数组存放在内存中,这个章节先不深入探讨。

为了方便讲解,我们可以理解为一个数组中如果有10个元素,那这10个元素之间的关系好比宾馆中10间编号连着的房间,例如401 402 403  ......409 410。 

我们创建并初始化一个数组来来解释。

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

1到10的关系好比下面的格子:

 

这十个数字好比十个人住在十个单间里面。每一个单间实际上都有一个编号。编号是从0开始的。

这十个数字是由十个下标组成的。我们如果要查找某一个数字查找它的下标就可以了。

那如果我们要找到7这个数字怎么办呢?我们知道它的编号是6,那么我们如何访问它呢?这个时候就要使用C语言中的一个操作符——下标引用操作符[]

参考代码:

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

运行结果:

知道如何访问数组了,现在我们可以来一个练习。

一个数组中存放了1到10这10个整数,请将这10个整数打印出来。

参考代码:

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

运行结果:

六、将数据输入数组中,并取出数组的值

 我们知道数组的下标是从开始的,如果我们创建了1个数组大小为6的数组。那么下标是从0开始到5结束。

从一个大小为6的数组中输入数字,并且将它们打印在屏幕上如何实现呢?

分析:

1.开辟一个数组,数组中可以存放6个整数

2.输入数字

3.打印数字

参考代码:

#include <stdio.h>int main()
{//1.开辟一个数组,数组中可以存放6个整数int arr[6] = {0};int i = 0;//2.输入数字for (i = 0; i < 6; i++){scanf("%d",&arr[i]);}//打印数字for (i = 0; i < 6; i++){printf("%d ",arr[i]);}return 0;
}

运行结果:

 七、数组在内存中的存储

我们买回来一台电脑之后,电脑中有内存,内存的作用是什么呢?

计算机处理的数据都需要加载在内存中处理。

然而内存又会被划分为一个一个的内存单元。通常来说一个内存就是一个字节。通过编号可以找到内存单元。编号也称为地址,在C语言中地址就是指针。

占位符%p用于表示指针的占位,指针就是地址。如果我们要使用printf函数打印地址,可以使用%p这个占位符。

创建一个数组,这个数组里面可以存放10个数字,那我们怎么知道这十个数组的地址呢?

参考代码:

#include <stdio.h>int main()
{//1.开辟一个数组,数组中可以存放10个整数int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };int i = 0;//2.打印地址for (i = 0; i < 6; i++){printf("&arr[%d]=%p\n",i,&arr[i]);}return 0;
}

x64环境下运行结果:

x86环境下运行结果:

 

 我们可以看到,数组在内存中是连续存放的。随着下标的增加,地址是由小到大的。

 八、数组大小的计算

数组是有大小的,那我们如何去计算数组的大小呢?

这里就要使用到sizeof这个关键字去计算了。

sizeof用于计算变量或类型的长度。

sizeof我简单举个例子。对它感兴趣或者想要知道更多的用法可以参考我之前的博客:

C语言(2)------->数据类型介绍中的3.1sizeof操作符介绍 CSDN

(1)sizeof的使用

计算一个整型的大小:

代码:

#include <stdio.h>int main()
{int a = 10;printf("%d\n",sizeof(a));//计算a变量的大小printf("%d\n", sizeof(int));//计算整型的大小return 0;
}

运行结果:

我们知道一个整型所占的字节数是4。

(2)sizeof在数组中的使用

那么一个存放了10个整型的数组它的大小是多少呢?我们如何通过C语言去计算呢?

参考代码:

#include <stdio.h>int main()
{int arr[10] = {0};printf("%d\n", sizeof(int));//计算整型的大小printf("%d\n", sizeof(arr));return 0;
}

运行结果:

 这里我们可以看到计算的是数组的总大小。

(3)sizeof计算数组中的某个元素的大小

我们现在有一个存放了10个字母的数组,如果我要看第二个字符所占的大小,我们如何计算呢?(当然,这是一个常识问题,学过数据类型的都知道字符所占的字节数是1)

参考代码:

#include <stdio.h>int main()
{char arr[10] = { 0 };printf("%d\n", sizeof(char));//计算字符类型的大小printf("%d\n", sizeof(arr[1]));return 0;
}

运行结果:

(4)计算数组的大小 

参考代码:

#include <stdio.h>int main()
{int arr[] = { 1,2,3,4,5,6,7 };printf("%d\n", sizeof(arr));//计算数组的大小return 0;
}

运行结果:

(5)计算数组元素的个数 

参考代码:

#include <stdio.h>int main()
{int arr[7] = { 1,2,3,4,5,6,7 };printf("%d\n", sizeof(arr));//计算数组的大小printf("%d\n", sizeof(arr)/ sizeof(arr[0]));//计算数组的个数return 0;
}

运行结果:

 未定义数组大小可以计算出数组的大小:

参考代码:

#include <stdio.h>int main()
{int arr[] = { 1,2,3,4,5,6,7 };printf("%d\n", sizeof(arr));//计算数组的大小printf("%d\n", sizeof(arr)/ sizeof(arr[0]));//计算数组的个数return 0;
}

运行结果:

 

http://www.dtcms.com/wzjs/96527.html

相关文章:

  • 江苏省建设部官方网站怎么自己建立网站
  • 自助建站平台哪个靠谱活动推广方案怎么写
  • 怎么做网站超市网站建设的流程及步骤
  • 商水县住房城乡建设网站扬州seo推广
  • 怎么做非法彩票网站吗山东移动网站建设
  • 自己怎做网站抖音企业推广
  • 接做网站需要问什么条件郑州网站顾问热狗网
  • 网站服务器放置地 网站接入服务提供单位怎么填惠州seo排名收费
  • 医院响应式网站建设方案厦门百度seo公司
  • 4网站建设哪里好点郑州网站建设推广有限公司
  • 网站开发的几个步骤长沙sem培训
  • 做购物网站怎么赚钱兰州seo外包公司
  • 营销网站开发规划清理优化大师
  • 湖南株洲网网站如何优化关键词排名
  • sns网站开发制作网站需要什么
  • 优化网站关键词营销软文500字
  • 个人备案网站做淘宝客可以用吗百度联盟
  • 济南网站定制制作网站首页面设计
  • 用服务器做网站需要购买域名吗网店代运营正规公司
  • 网站404页面怎么做长沙seo免费诊断
  • 做网站建设很赚钱吗站内推广方式
  • 如何制作简易 网站关键词收录查询工具
  • 个人小程序源码网站seo推广
  • 服装网站html模板合肥seo网站管理
  • 保定网站制作推广今日关键词
  • 深圳前50强网站建设公司南昌seo全网营销
  • 南京的网站建设公司哪家好品牌营销案例
  • 营销型网站易网拓外贸网站推广seo
  • 可以做淘宝客的网站有哪些百度网址链接
  • 营销网站建设规划方案注册域名后如何建立网站