数组作为函数形参和用指针作为函数形参
来源:互联网 发布:mysql数据库分页语句 编辑:程序博客网 时间:2024/05/17 18:18
还是有差别的
虽然大多数时候都可以相互用最大的差别就是指针可以改变,可以通过指针改变指向内容的值,但数组名不行
举个例子:(分别作为形参)
int num[10], *p;
p = num;//此时p指向数组的第一个元素
在主函数里调用两个函数
1 Sum(num);
2 Sum(p+2,10);
这就有区别了,因为num数组首地址它不能变化,但是此时p指向了数组的第三个元素,而且后面的那个10也是可以改变的,所以说用指针作为形参的时候要带一个int n 表示你要处理的数的个数,所以说用指针作为形参的话会给你一种假象,它的确是指向的数组的某个元素(这要看你的指针移动了,比如说p+2等等,数组名不能移动),但是它仅仅只是一个指针,你可以在调用的函数里用sizeof(num),sizeof(p)求它们的值,就知道为什么总是要加上一个int n了,因为如果不加的话函数就不知道你要操作的数的个数,另外别忘了传递数组和传递一般的int,double等类型是不一样的,传递数组传递的是原数组(有问题),函数的操作就改变了原来的数组,而传递一般的数只是传递它的拷贝,对原来的数没有影响;
- 数组作为函数形参和用指针作为函数形参
- 数组指针,指针数组,函数指针,指针作为形参和返回值的注意事项
- 函数指针作为形参
- 指针作为函数形参
- 数组作为函数形参
- 数组指针,指针数组,二维数组作为参数传递给以指针的指针作为形参的函数
- 数组作为实参传给函数的形参指针
- 指针作为函数形参的思考
- 成员函数指针作为形参调用
- 指针作为函数形参混淆辨析
- 数组名和指针作为形参?
- 那么为什么作为函数形参的数组和指针申明可以互换呢?
- 作为函数形参的数组,在函数体内,数组名仅仅是个指针
- 数组作为函数的形参
- C++ 二维数组作为函数形参
- 用指向数组的指针作为函数形参_示例【重点】
- 数组、指针作为函数参数
- 二维数组作为函数形参的函数声明
- MAPPING TABLE 的作用
- 存储过程(二)
- 高质量C++/C编程指南(林锐)
- joj1018
- 存储过程的定义
- 数组作为函数形参和用指针作为函数形参
- 折行算法(word warp)
- asp.net _2天
- asp.net第二天
- Qt多线程学习-用例子来理解多线程(转)
- 构造函数定义为private,protected
- 对Hadoop源代码中Child类的调试方法
- Ubuntu10.04配置VPN
- 存储过程再续