错,指针变量既可以作为函数的形参,也可以作函数的实参。
当数组名作函数的参数时,传递到是数组的起始地址,形参是用来接受从实参传递过来的实参数组的地址的。因此,形参应该是一个地址变量(只有指针才能存放地址)。
数组名就是数组的首地址,实参向形参传递数组名实际上就是传送数组的地址,形参得到该地址后也指向同一数组。这就好像同一件物品有两个彼此不同的名称一样。同样,指针变量的值也是地址,数组指针变量的值即为数组的首地址,当然也可以作为函数的参数使用。
指针作为实参,指针作为形参:
扩展资料:
在c语言中实参和形参之间的数据传输是单向的“值传递”方式,也就是实参可以影响形参,而形参不能影响实参。指针变量作为参数也不例外,但是可以改变实参指针变量所指向的变量的值。
指针实质是一个内存地址,这个内存地址就是指针的指向地址,这个地址及其以后的地址中的内容就是我们说的指针指向的内容。函数在传递参数时传递的一定是形参。
参考资料来源:百度百科-指针变量
错。
只是要不然只有形参而没有实参的话,函数传参数没有用。但一般函数要用指针时会用引用的。
#include <stdio.h>
int add(int x[])//这里的数组即变成指针了
{
return x[0]+x[1];
}
int main()
{
int i[]={1,2};
printf("%d\n",add(i));
return 0;
}
扩展资料:
存放地址的变量称为指针变量。指针变量是一种特殊的变量,它不同于一般的变量,一般变量存放的是数据本身,而指针变量存放的是数据的地址。
举例:int a = 68 ,系统为变量a分配的首地址为0X065FDF4H,声明空指针long *p = NULL,p=&a是存放变量a地址的指针变量,即p=&a中存放的值为0x065FDF4H(a的值为68,&a的值为0x065FDF4H)。
对变量a的访问有两种方式:一是直接按地址0x065FDF4H找到a的存储单元,从而对变量a进行访问;二是按系统为p=&a分配的地址先找到p=&a,然后根据p,&a的值(即变量a地址0x065FDF4H)找到变量a在内存中的存储单元,从而对变量a进行访问。对于前一种访问方式称为直接访问方式,后一种访问方式称为间接访问方式。
参考资料来源:百度百科-指针变量