<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0045)http://d2school.com/bcyl/bhcpp/newls/ls17.htm -->
<HTML><HEAD><TITLE>教学--第十七章 数组(二)</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<STYLE type=text/css>P {
MARGIN: 1px 2px; LINE-HEIGHT: 150%
}
.节标题 {
FONT-WEIGHT: bold; FONT-SIZE: 12pt
}
TD {
FONT-SIZE: 9pt
}
.tdtitle {
FONT-SIZE: 20pt
}
.celltopline {
BORDER-TOP: #000000 1px solid
}
.menucell {
FONT-SIZE: 10pt
}
A:link {
FONT: 10pt 宋体; COLOR: blue; TEXT-DECORATION: none
}
A:visited {
FONT: 10pt 宋体; COLOR: purple; TEXT-DECORATION: none
}
A:active {
FONT: 10pt 宋体; COLOR: red; TEXT-DECORATION: underline
}
A:hover {
COLOR: blue; TEXT-DECORATION: underline
}
</STYLE>
<META content="MSHTML 6.00.2900.2180" name=GENERATOR></HEAD>
<BODY leftMargin=0 topMargin=3>
<CENTER>
<TABLE height=105 cellSpacing=4 cellPadding=4 width=760 border=0>
<TBODY>
<TR>
<TD
style="FONT-SIZE: 10pt; TEXT-INDENT: 20px; LINE-HEIGHT: 150%; FONT-FAMILY: ËÎÌå"
width="100%" height=210>
<H2>第十七章 数组(二)</H2>
<P><A href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.1">17.1
数组与内存</A>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.1.1">17.1.1
数组的内存结构</A>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.1.2">17.1.2
数组的内存地址</A>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.1.3">17.1.3
数组元素的内存地址</A>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.1.4">17.1.4
数组访问越界</A>
<P><A href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.2">17.2
二维数组</A>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.2.1">17.2.1
二维数组基本语法</A>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.2.2">17.2.2
二维数组初始化</A>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.2.3">17.2.3
二维数组的内存结构</A>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.2.4">17.2.4
二维数组的内存地址</A>
<P><A href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.3">17.3
二维数组实例</A>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.3.1">17.3.1
用二维数组做字模</A>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.3.2">17.3.2
二维数组在班级管理程序中应用</A>
<P><A href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.4">17.4
三维和更多维数组</A>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.4.1">17.4.1
多维数组的定义与初始化</A>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.4.2">17.4.2
多维数组的<SPAN lang=zh-cn>示例</SPAN></A>
<P><A href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.5">17.5
数组作为函数的参数</A>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.5.1">17.5.1
数组参数默认是传址方式</A>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.5.2">17.5.2
可以不指定元素个数</A>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.5.3">17.5.3
数组作为函数参数的上机实例</A>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.5.4">17.5.4
二维及更多维数组作为函数参数</A>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.5.5">17.5.5
函数的返回值类型不能是数组</A>
<P><A href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.6">17.6
sizeof<SPAN lang=zh-cn>用在数组上</SPAN></A>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.6.1">17.6.1
用sizeof自动计算元素个数</A>
<P> <A
href="http://d2school.com/bcyl/bhcpp/newls/ls17.htm#17.6.2">17.6.2
sizeof对数组参数不可用</A>
<P> </P>
<H3><B><A name=17.1>17.1</A> 数组与内存</B></H3>
<P>变量需要占用内存空间,内存空间有地址。<SPAN
lang=zh-cn>不同数据类型的变量,可能占用不同的内存大小及有不同的内存结构。</SPAN></P>
<P><SPAN
lang=zh-cn>以前我们所学都称为“简单数据类型”,如:</SPAN>int,char,float,double,bool<SPAN
lang=zh-cn>。像</SPAN> char,bool,<SPAN
lang=zh-cn>只占用一个字节,所以我们不去管它的的“结构”,其余如</SPAN>int,float,double<SPAN
lang=zh-cn>占用多个字节,但比较简单,适当的时候我们会去探讨4个字节是如何组成一个整数。</SPAN></P>
<P><SPAN
lang=zh-cn>后来我们学习了数组。数组变量占用内存的大小是不定的,因为不同的数组变量除了类型可以不同,还可以拥有不同个数的元素,这两点都影响它的大小。</SPAN></P>
<P> </P>
<P><SPAN
lang=zh-cn>因此,数组是我们第一个要着力研究它的结构的数据类型。和后面我们还要学习的更多数据类型相比,数组的结构还是相当简单的。简单就简单在它的各个元素大小一致,整整齐齐地排列。</SPAN></P>
<P> </P>
<H4><B><A name=17.1.1>17.1.1</A> 数组的内存结构</B></H4>
<P>变量需要占用内存空间,内存空间有地址。</P>
<P> </P>
<P>声明一个整型变量</P>
<P> </P>
<P><SPAN lang=en-us>int a;</SPAN></P>
<P> </P>
<P>系统会为该变量申请相应大小的空间,一个int类型的变量时,需要占用4个字节的空间,如下图:</P>
<P><IMG height=125 src="教学--第十七章 数组(二).files/ls001.gif" width=385
border=0></P>
<P>也就是说,一个 int 类型的变量,它的内存结构就是 “4个连续的字节”。</P>
<P> </P>
<P>当我们声明一个数组:<SPAN lang=en-us>int arr[100];</SPAN></P>
<P> </P>
<P>我们可以想像,<SPAN lang=en-us>arr</SPAN>数组在内存中占用了100 <SPAN lang=en-us>*
sizeof(int)</SPAN> 个字节。</P>
<P> </P>
<P>现在请大家打开<SPAN lang=en-us>Windows</SPAN>的画笔程序,家画一个数组的内存结构示意图。</P>
<P> </P>
<H4><B><A name=17.1.2>17.1.2</A> 数组的内存地址</B></H4>
<P> </P>
<P>一个<SPAN
lang=en-us>int</SPAN>类型变量,占用4个字节的内存,其中第一个字节的位置,我们称为该变量的内存地址。</P>
<P>同样,一个数组变量,占用一段连续的内存,其中第一个字节的位置,我们称为该数组变量的内存地址。</P>
<P> </P>
<P>还记得 <SPAN lang=en-us>& </SPAN>这个符号吗?通过它我们可以得到指定变量的内存地址。</P>
<P> </P>
<P><SPAN lang=en-us>int a;</SPAN></P>
<P><SPAN lang=en-us>cout << &a << endl;</SPAN></P>
<P> </P>
<P><SPAN lang=en-us>& </SPAN>称为“取址符”。如果你有点记不清,可以查看以前的课程。</P>
<P> </P>
<P>本章第一个需要你特别注意的内容来了:</P>
<P>查看数组变量的地址,不需要使用<SPAN lang=en-us> &
</SPAN>。下面的话是一个原因也是一个结论,你必须记住。</P>
<P> </P>
<P><FONT
color=#ff0000><B>C,C++语言中,对数组变量的操作,就相当于直接对该数组变量的地址的操作。</B></FONT></P>
<P> </P>
<P>因此,想要查看一个数组变量的地址,代码为:</P>
<P> </P>
<P><SPAN lang=en-us>int arr[10];</SPAN></P>
<P><SPAN lang=en-us>cout << arr << endl;
//</SPAN>注意,<SPAN lang=en-us>arr</SPAN>之前无需<SPAN lang=en-us> &
</SPAN>。</P>
<P> </P>
<P>现在,请大家打开<SPAN lang=en-us>CB,</SPAN>然后将上面代码写成完整的一个控制台程序,看看输出结果。</P>
<P> </P>
<H4><B><A name=17.1.3>17.1.3</A> 数组元素的内存地址</B></H4>
<P> </P>
<P>一个数组变量包含多个连续的元素,每一个元素都是一个普通变量。因此,对就像对待普通变量一样可以通过<SPAN
lang=en-us>&</SPAN>来取得地址:</P>
<P> </P>
<P><SPAN lang=en-us>//</SPAN>查看数组中第一个元素的地址:</
vain2008
- 粉丝: 1
- 资源: 5
最新资源
- 基于一款语音交互智能家居机器人全部资料+详细文档+优秀项目.zip
- CuZnAl合金焊接方法 - .pdf
- Cu异种金属冷金属过渡熔钎焊接头显微组织与性能 - .pdf
- D406A钢电子束焊接头组织及性能分析 - .pdf
- 基于语音识别的智能家居控制方案研究与设计全部资料+详细文档+优秀项目.zip
- DB21T 2700-2016 焊接绝热气瓶充装站安全技术条件.pdf
- DG1427-2001钢制压力容器产品焊接试板的力学性能检验.pdf
- DIN 928-2000 焊接方螺母 Square weld nuts.pdf
- DIN 1910-1-1983 焊接 第1部分 焊接概念焊接方法分类.pdf
- DIN 1910-2-1977 焊接 金属焊接 工艺.pdf
- DIN 1910-5-1986 焊接.金属焊接.电阻焊接.方法.pdf
- DIN 1912-1 1976 焊接.钎焊图样表示法.焊接接头.焊接坡口及焊缝的概念与名称.pdf
- DIN 1912-2 1977 焊接.钎焊图样表示法.工作位置.焊缝倾角.焊缝旋转角度.PDF
- DIN 1910-11-1979 焊接.金属焊接材料术语.pdf
- DIN 2393-1-1994 有特殊尺寸精度的精密焊接钢管 尺寸.PDF
- DIN 6700-1-2001 中文版 铁路车辆及车辆部件的焊接.第1部分基本概念,基本规则.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈