当前位置:首页 > 内存 > 正文

数组各个元素数据在内存中

  • 内存
  • 2024-06-10 02:10:32
  • 4102

一、用c++语言编程,用数组存放10个数,编写程序求这个10个中最大值及其所在的下标.
intmain()
{
intarr[10]={2,3,4,1,5,11,0,6,7,8};
intpos=0,max=arr[0];
for(inti=1;i<10;i++)
{
if(max{
max=arr[i];
pos=i;
}
}
cout<<"MAX:"<cout<<"坐标:"<return0;
}
////////////////////////////////////////////////////////////////
//这是要考虑多个最大值的情况​​
//////////////////会出现///////////////////////////////////////////
#include
usingnamespacestd;
voidinitPosArr(intarr[],intarrMax)//数组初始化
{
for(inti=0;i{
arr[i]=-1;//坐标为-1
}
}<
intmain()
{
intarr[10]={2,3,11,1,5,11,0,6,7,8};
intpos=0,max=arr[0],posArr[10];//posArr是一个数组,存储多个相同的最大坐标
initPosArr(posArr,10);
boolbRet=false;
for(inti=1;i<10;i++)
{
if(max{
max=arr[i];
pos=i;
bRet=false;
initPosArr(posArr,10);
posArr[0]=pos;
}
elseif(max==arr[i]&&bRet==false)//与第一个最大值相同
{
bRet=true;
pos=i;
cout<posArr[1]=pos;
}
elseif(max==arr[i]&&bRet==true)//当多个数达到最大值时
{
pos=i;
for(intj=0;j<10;j++)
{
if(posArr[j]==-1)
{
posArr[j]=pos;<
}
}
}
}
cout<<"MAX:"<for(intm=0;m<10;m++)
{
if(posArr[m]!=-1)
{
cout<<"坐标:"<}
否则
{
break;
}
}
返回0;
}
二、数组定义10,[0][1][10]表示什么意思

[10]表示有序字符a的大小维度。

内存中排列着10个字符(char)空间。

除了[10]中定义的字符数组之外,实际上只有9个空格存储字符,最后一个空格被保留用于存储字符串结束符号'\0'。

扩展信息:

数组:

在C语言中,构造数组类型。排列可以由多个有序元素组成,这些元素可以称为基本形式或构造类型。因此,根据元素的顺序,可以分为不同类型的服装,如数字服装、字符服装、规则服装、结构服装。

关于变长数组(VLA)的问题:原来的C89标准不允许变长数组出现,但是在标准C99中,增加了对VLA的支持,但是它们不被编译支持。很多处理器,而且由于安全出口堆栈冗余,不敢使用这个变长线的不多,所以在C11标准中将其定义为可选的实现函数。

如果您有使用其他语言编程的经验,您应该更熟悉服装的概念。借助数组,您可以引用一系列具有相同名称的变量并按编号包含它们。

在许多情况下,使用循环可以简化编程,因为可以使用索引值设计循环来有效地处理复杂的条件。数组有上限和下限,元素排列在上限和下限内。由于VisualBasic为列表中的每个值排列空间,因此它们不声明顺序,该顺序大得不切实际。

这里是程序中声明的各个变量的顺序。它们与权力背心不同,权力背心旨在通过放置财产所有权指数来指定一段时间。不同的衣服总是相邻的;数组中排列的所有元素都具有相同的类型(在C、C++、Java和pascal中都是如此。但并非所有涉及包装器的领域都是如此。例如:VisualFoxpro的包装器没有此要求)。

当然,由于数据类型不同,每个元素可以包含不同类型的数据(对象、字符串、值等)。可以声明任何基本数据类型的参数,包括用户定义类型和对象变量。

参考来源:-数组