C++中数组可分为堆区的数组和栈区的数组,对于两种数组C++都没有函数可以直接获取数组的元素的个数。
一、堆区的数组
堆区的数组是自己申请的,比如用new申请空间:
int* arr = new int[10];
堆区的数组不能计算出包含元素个数。
二、栈区的数组
栈区的数组是系统自动分配的,如:
[cpp] view plain copy
int arr[10] = { 1,2,3,4,5,6,7,8,9,0 };
栈区的数组可以通过以下两种方法得出元素的个数:
(1)
[cpp] view plain copy
int arr[10] = { 1,2,3,4,5,6,7,8,9,0 };
auto diff = sizeof(arr)/sizeof(int);
(2)
这种方法需要所用编译器支持C++11,14
[cpp] view plain copy
int arr[10] = { 1,2,3,4,5,6,7,8,9,0 };
int *pbeg = begin(arr);
int *pend = end(arr);
auto length = pend - pbeg;//数组元素个数
c++中怎么获取数组中元素的个数
一、堆区的数组 堆区的数组是自己申请的,比如用new申请空间:int* arr = new int[10];堆区的数组不能计算出包含元素个数。二、栈区的数组 栈区的数组是系统自动分配的,如:[cpp] view plain copy int arr[10] = { 1,2,3,4,5,6,7,8,9,0 };栈区的数组可以通过以下两种方法得出元...
C++怎么获取数组元素个数
如果你使用的是STL中的vector,即动态数组的话,直接调用它的一个方法就可以求出存入数组中的元素个数了。
C++ 如何获得一个数组中 有多少个数
=== 一个数组x[]中 有多少个元素:int x[]={1,2,3,4,5,6,7,8,9,10};n = sizeof(x) \/ sizeof(int);=== 控制台输入 2 5 6 7回车 输出结果4(输入了4个数) ,用下法:include <stdio.h> int main(){ int x[]={1,2,3,4,5,6,7,8,9,10};int i, n,c;n = si...
...怎么能控制不无限输出,并统计输入数组元素的个数。
可以用strlen来计算输入数组元素的个数 char a[20];int i;i=strlen(a);可得i=0 若char a[20]=“abcde”;i=5 输出的时候 for(j=0;j
如何求数组中相同元素的个数,C++版。。。
printf("请输入元素个数:\\n");scanf("%d",&n);printf("请输入各个元素:\\n");for(i=1;i<=n;i++){ scanf("%d",&a[i]);} qsort1(1,n);s=1;a[0]=-1;a[n+1]=-1;for(i=1;i<=n+1;i++){ if(a[i]!=a[i-1]){ if(s>maxn) maxn=s;s=1;} else s++;} p...
怎样用C++输出数组元素的值?
按照题目的要求我们可以直接把数据存到数组之中,然后倒序输出数组元素即可,不需要对数据进行改变。正确代码如下:include <stdio.h> define N 2000 int main () { int i=0;int n=0,a[N];scanf("%d",&n);for(i;i<n;i++){ scanf("%d",&a[i]);} for(i=n-1;i>=0;i--){ pr...
C++中如何获取数组第一行的第四个元素?
①C\/C++ 的数组是行优先,也就是一行一行的来。②a[3][6]有3行6列。a[1][3] 是第二行的第4列,位置是第一行的6个元素+第二行的第4个元素,就是第10个元素了。③要算出a[N1][N2][N3]...[Nn-1][Nn] 数组在a[b1][b2][b3]...[bn-1][bn]是第几个数,有公式:N1*b1...
C++ 怎么输出一个栈中的所有元素?
如果是用数组,数组a,int index,可以用:push(num)函数就是: a[index] = num; index ++;pop()就是: index --; return a[index]。语言特点:在C++中,类是支持数据封装的工具,对象则是数据封装的实现。C++通过建立用户定义类支持数据封装和数据隐藏。在面向对象的程序设计中,将数据和对该...
C++如何返回数组参数的元素个数
这就是求一个数组的元素个数吧,比如你一个整形的数组 int numberOfArray(int Array[]){ int number = sizeof(Array )\/ sizeof(int );return number;} 如果是其他数据类型的,把int改成相应的类型应该就行了
C++怎么读取文件中数组成员的个数
int i; int b[]=new int[100]; FILE *fp=fopen(filename,"r"); for(i=0;fread(&b[i],sizeof(int a[]),1,fp)!=0,i++) \/\/一个一个读取并用i记录读取个数,直到文件读完。 i即为读取文件中 数组a[] 的个数。 解释一下:开始定义了个数组b 用来存放每次读取的内容,