C语言中的数组与指针
来源:互联网 发布:idea java文件 蓝色j 编辑:程序博客网 时间:2024/05/18 18:52
在C语言中,有时候在写函数的时候,形式参数,有的是数组形式,有的是指针类型
其实编译器把数组的形式参数当作了指针类型
指针实参
fun1(int *ptr)
{
ptr[1] = 3 ;
*ptr = 3 ;
ptr = array2 ;
}
数组实参
fun2(int arr[])
{
*arr =3 ;
array[1] = 3;
arr = array2;
}
非实参的指针
int array[100],array2[100];
main()
{
*array = 3;
array = array2; /*失败*/
}
语句array = array2; 引起了一个编译错误,错误的信息是 "无法修改数组名".但是arr= array2是合法的,因为arr虽然声明为数组但实际却是指针.
数组和指针课交换性地几点
1,用a[i] 这样的形式对数组进行访问总是被编译器"改写"或解释为像*(a+1)这样的指针访问
2,指针始终就是指针,而且你不可以改写成数组.你可以用下表形式访问,一般都是指针作为函数参数时,而且你知道实际穿的给函数的事一个数组
3,在特定的上写文中,也就是他作为函数的参数,一个数组的声明可以看做是一个指针.作为函数参数的数组(就是在一个函数调用中)始终会被编译器修改成为指向数组第一个元素的指针
4,因此,当吧一个数组定义为函数参数时,可以选择会把他定义为数组,也可以定义指针,不管选着那种方法,在函数内部事实上获得都是指针
5,在其他情况中,定义和声明必须匹配,如果定义了一个数组,在其他文件对他进行声明时必须把它声明为数组,指针也是如此.
- C语言中的指针与数组
- c语言中的数组与指针
- C语言中的指针与数组
- C语言中的多维数组与指针
- C语言中的数组与指针
- C语言中的数组与指针
- C语言中的指针与多维数组
- C语言中的数组名与指针
- C语言中的二维数组与指针
- c语言中的指针与数组
- C语言中的指针与数组
- C语言中的数组指针与指针数组
- C语言中的指针数组与数组指针的理解
- c语言中的指针(包括数组与指针相关)
- C 语言中的元素指针与一维数组指针
- C语言中的数组指针
- C语言中的指针数组
- c语言中的指针数组
- <<C语言深度剖析>>学习笔记之二:关键字详解
- UVA 10400 - Game Show Math
- zlib libs
- Java的重载(Overload)与重写(Override)
- 使用DBUtil前的准备工作
- C语言中的数组与指针
- openssl简介-协议
- .NET代码生成工具
- 关于MVC3,从客户端(userName="<hr />")中检测到有潜在危险的 Request.Form 值的错误
- LISP 6.1 变量的基础
- 跨站点脚本攻击深入解析
- Qt从网络读取数据写入本地二进制文件
- 省赛总结
- 简易流程流转实现