C++ 怎么取整形数组的长度

原创 2015年07月08日 11:51:45

【摘要】

本文主要讨论两个小点,怎样获取主函数中整形数组的长度;自定义函数输入参数为整型数组,怎么得到该数组长度。

【正文】

很早就知道C++ 中,因为栈的回收机制,函数的返回值不可以是数组

  • 但是,能不能输入参数包含数组呢?

答案是肯定的,以指针形式传入即可。

  • 那么,问题再进一步,如果我想在函数中对数组进行遍历,可不可以呢?

答案还是肯定的。

  • 函数中接收数组的是一个数组指针,也就是把数组的函数名传进去,数组的地址被函数接受,那我们怎么知道数组的长度呢?

答案还是肯定的,我们可以用strlen函数啊。

  • 但是,再进一步,如果是整形数组呢?

这个似乎就不那么简单了。

在主函数中,数组在内存中开辟了一段内存空间,用于存贮数组变量。如果是字符数组变量很容易理解,strlen和 sizof/sizeof(char)函数都可以应付。如果是字符指针,strlen也能够处理。针对整形数组,sizeof/sizeof(int) 是最快的方式。

自定义函数中,整型数组是没有办法找到数组长度的,因为,作为指针,指向整型数组,这里是判断不出指向对象实际长度的。

所以,现提出以下两个办法

1.传入数组长度,将数组长度作为输入参数导入到自定义函数中去;

2.声明全局变量,保证使用之前正确复制即可。

如何获得一个数组的长度

看到这个问题之前我突然想到我平时用的各种数据结构貌似都是拿来即用,不论是书上看来的,或是学校里学的,想到的应用场景非常小,提到数组只是想到用它来存储数据,未曾想过如果不是我们定义的数组,看到了一个数组...
  • m7548352
  • m7548352
  • 2015年10月28日 19:45
  • 3332

C++求数组长度

C、C++中没有提供直接获取数组长度的函数,对于存放字符串的字符数组提供了一个strlen函数获取长度,那么对于其他类型的数组如何获取他们的长度呢? 其中一种方法是使用sizeof(array) /...
  • tf576776047
  • tf576776047
  • 2012年03月03日 00:39
  • 14399

如何获取int型数组的长度

直接获取int型数组的长度有的时候可能会出问题,所以可以借助指针来得到它的长度。 #include using namespace std; int main(void) { int n; c...
  • M_Eve
  • M_Eve
  • 2017年06月08日 10:14
  • 754

C程序中,strlen是求取字符串长度,若对整形数组,求取的是什么?还有整形数组作函数参数的问题?

#include #include void main() { void fun(char *a); int a[2]={2,3}; printf("%d\n",strlen(a)); ...
  • u011487593
  • u011487593
  • 2015年08月09日 09:53
  • 1851

Java整型数组的最大长度到底有多长?

Java整型数组的最大长度到底有多长? 今天上网查了一下,各种说法都有,这个问题似乎总困扰我们Java初学者,无奈,只好自己试了一下,以下是我的测试代码,如果有错误,还望不吝赐教!   使用ec...
  • DING135DING
  • DING135DING
  • 2015年04月13日 22:45
  • 1689

C/C++中如何获取数组的长度?

 C、C++中没有提供 直接获取数组长度的函数,对于存放字符串的字符数组提供了一个strlen函数获取长度,那么对于其他类型的数组如何获取他们的长度呢?其中一种方法是使 用sizeof(array) ...
  • bopzhou
  • bopzhou
  • 2010年12月08日 15:28
  • 95647

C/C++ 获取数组的有效长度

有人提议说在C/C++中,使用 sizeof(array) / sizeof(array[0]); 来获取数组的长度(C++中可以使用模板,进行类型匹配)这是不可行的。 int a[60] = {...
  • huiquyiduxian
  • huiquyiduxian
  • 2015年01月09日 16:41
  • 3220

在一个长度为10的整形数组中,已经放置好了任意10个整数。要求用户任意输入 一个整数,判断该数字是否在数组中。如果在,删除数组中该元素,并把后面的 元素往前挪。(让空出的位置在最后)

在一个长度为10的整形数组中,已经放置好了任意10个整数。要求用户任意输入 一个整数,判断该数字是否在数组中。如果在,删除数组中该元素,并把后面的 元素往前挪。(让空出的位置在最后)...
  • zhangrongliang
  • zhangrongliang
  • 2014年09月18日 20:45
  • 1556

算法小记(一)求数组的长度

常见的数组就是字符数组和整型数组,今天给大家介绍两种求数组长度的方法。 一.、sizeof函数  同个这个函数可以求得这两种类型的数组的长度。  首先sizeof的功能是返回一个对象或者类型...
  • CoderMa4k
  • CoderMa4k
  • 2018年01月28日 09:23
  • 1361

C++取整

1、直接赋值给整数变量。如:     int i = 2.5; 或 i = (int) 2.5;     这种方法采用的是舍去小数部分     2、C/C++中的整数除法运算符“/”本身就有取整功能...
  • CSDNMicrosoftCSDN
  • CSDNMicrosoftCSDN
  • 2015年05月15日 11:25
  • 1780
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++ 怎么取整形数组的长度
举报原因:
原因补充:

(最多只允许输入30个字)