百度知道为什么不能问关于算命问事业怎么问问题的问题?

C++数组操作和数组下标_C语言中文网
&&/&&&&/&&&&/&&
我们前面说到,数组就像是给变量编了号。那么我们要访问数组中的某一个元素时自然就要用到这个编号了。给学生编的号称为学号,给数组元素编的号称为下标(Subscript)。我们要表达数组中某一个元素的格式是:数组名[下标]。在C++中,下标是从0开始的,所以一个大小为n的数组,它的有效下标是0~n-1。如果下标不在这个范围内,就会发生错误。和声明数组时不同,操作一个数组时,它的下标既可以是一个常量表达式,也可以是一个变量表达式。
对数组元素的操作就如同对某一相同数据类型的变量的操作。下面我们来看一个简单的例子:(程序7.1)
#include &iostream.h&
int main()
& &int array[5];//声明一个可以存放五个整数的数组
& &for (int i=0;i&5;i++)//如果写成i&=5就要出问题了
& & & array[i]=i+1;//对各数组元素赋值
& &for (int j=0;j&5;j++)
& & & cout &&array[j] &&& &;//输出各数组元素
& &cout &&
& &return 0;
运行结果:
阅读了以上程序,我们发现除了要注意下标是否有效,对数组的操作和对变量的操作并无异样。
算法时间:数组的下标和循环控制变量
在一开始,我们就说了给学生编号是为了避免在长短不一的姓名中查找。使用一个数组而不使用多个变量的原因也是类似的。由于循环语句和数组下标的存在,再搭配循环控制变量,就能很方便地对多个数据进行类似的反复操作。(我们一般把循环控制变量作为数组的下标。如程序7.1.1中所示。)这种优势是多个变量所没有的。这也是数组存在的重要意义。如果一种高级语言没有数组功能,那么它将很难实现大数据量的复杂程序。
输入下列程序,看看在编译的时候会发生什么错误:
#include &iostream.h&
int main()
int a[size];
return 0; }
编程帮,一个分享编程知识的公众号。跟着一起学习,每天都有进步。
通俗易懂,深入浅出,一篇文章只讲一个知识点。
文章不深奥,不需要钻研,在公交、在地铁、在厕所都可以阅读,随时随地涨姿势。
文章不涉及代码,不烧脑细胞,人人都可以学习。
当你决定关注「编程帮」,你已然超越了90%的程序员!
微信扫描二维码关注
推荐文章 TOP10编程常识13:数组索引为什么要从0开始
&&& 在C/C++中,数组是以0开始索引的。即0为第一个索引,数组的第一个元素用0来索引。原因是计算机中表示数据时从0开始编号,0是其中一种状态,如0和1。因此,从0开始编号,则可以直接处理,如果从1开始索引,则每次在底层都要转换一下,这也就导致了效率变低了。
&&& &&& 因为数组索引是底层的基础性的东西,因此到处都会使用,因此,效率也是极其需要考虑的问题。如果数组以非零作为开始,则每一次下标使用,都要进行一次转换。&&& 那么这样在转换时会浪费大量的时间和CPU,是极为不可取的。而C语言和C++语言都重视性能,因此,不会做这么愚蠢的事情。&&& 所以,学习C语言或者C++语言,必须养成这个习惯哦,下标以0开始哦。
文章来源:原创文章版权为网站和作者共同所有,会员文章禁止转载。非会员文章转载做好本文超链接即表示授权转载。通过文章下面的分享按钮可以自由分享所有文章。
当前位置:-> ->上一篇:下一篇:
在线提问 问题标题: 问题描述:(简陋的描述会导致问题被最后回答、没有针对性回答甚至无法解答。请确保问题描述的足够清楚。)
弹幕群聊(QQ群:)& 大一学习c语言刚接触数组时候,书上说第一个数组元素要从下标0开始数起,不能从1开始数,当时并没有探究为什么是这样的。比如 int a[4]={1,2,3,4};那么a[0]=1;为什么不从1数起呢,即a{1}=1呢?不更符合大家的生活习惯吗?
& 原来数组括号里面的数字叫做偏移量,学过微机原理的应该都学过。int a[4];那么计算机就会在内存中随机分配一个首地址,在这首地址后面连续的分配16个字节,每个数组元素占用4个字节,那么得到
第一个数组元素a[0]起始地址:首地址+偏移地址0*4字节;
第二个数组元素a[1]起始地址:首地址+偏移地址1*4字节;
第三个数组元素a[2]起始地址:首地址+偏移地址2*4字节;
第四个数组元素a[3]起始地址:首地址+偏移地址3*4字节;
如果数组从1开始数起。那么得
第一个数组元素a[1]起始地址:首地址+(1-1)*4字节;
第二个数组元素a[2]起始地址:首地址+(2-1)*4字节;
第三个数组元素a[3]起始地址:首地址+(3-1)*4字节;
第四个数组元素a[4]起始地址:首地址+(4-1)*4字节;
可以看出如果从1开始的话,总要多一步减法运算,所以从0开始体现了C语言高效的特点!!!
第一次写博客,写的不是很好,不过我会继续努力的,希望大家多多支持我,给我提出宝贵的意见,大家一起努力进步!
之前在本科时候主要搞的是电机,现在研究生了导师的方向是智能算法,自己对编程也很感兴趣,现在重新捡起编程语言来学习,个人觉得如果想做一件事情,什么时候做都不会太晚,以后会一点一点的回顾C语言和C++的知识!!!
在后面博客中我会总结c语言,加油!!!

&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:772次
排名:千里之外
原创:12篇你正在使用的浏览器版本过低,将不能正常浏览和使用知乎。

我要回帖

更多关于 算命都应该问哪些问题 的文章

 

随机推荐