论坛首页 编程语言技术论坛

数组本质

浏览 1589 次
锁定老帖子 主题:数组本质
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (11)
作者 正文
   发表时间:2009-05-21   最后修改:2010-08-21
数组是一片连续的内存空间,定义时一般指明大小和类型,这样编译器才能给其分配空间.
把数组名当数组用的时候,它仅仅是一个地址,可通过sizeof()函数来进行测试得到.
函数的形参如果是一个数组,在函数中将无法知道有多少个元素.所以在函数的形参是数组的时候
我们会再传一个参数,此数组的元素的个数,这样才能很好的工作,
#include <iostream.h>
using namespace std;

double max(double score[]/*等价于double *s(指针)*/, int n )
{
	cout << "sizeof(score) = " << sizeof(score) << ednl; //输出4,传过来的是地址.
	doublc mv = score[0];
	for(int i=1;i<n/*n是传过来的,因为函数本身将无法知道n的大小*/;i++)
	{
		/* 比较出最大值*/
	}
	return mv;
}
int main()
{
	double a[5] = {66,77,88,33,44};
	cout << "sizeof(a) = " << sizeof(a) << endl; //将输出48
	//这个地方传过去的是数组a的首地址,也就是指针
	//指针只能存地址,地址也只能存到指针里去
	cout << "The max Value is : " << max(a) << endl;
	return 0;
}

论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics