大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
立即数不能转换成指针,因为它不在内存中。(int*)2表示从地址0x02开始的int型的地址空间。如果你的函数形参是指针而实参却需要传递立即数,说明这个函数编的是有问题的。
创新互联自2013年创立以来,先为昭阳等服务建站,昭阳等地企业,进行企业商务咨询服务。为昭阳企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
如果你一定要传递,可以用一个中间变量存放立即数,然后传递该变量的地址。
举例:
void f(int *p)
{
}
int arr[]={1,2,3};
因为函数f的形参是一个类型为int的指针变量,所以调用f时,可以将数组名arr作为实参传给形参p。即可以这样调用:f(arr);
c语言中的void 基本上就是两个意思:
无,没有
任意类型
这两个意思,与void出现的代码位置和修饰变量相关:
函数返回值位置,如:
void func(int i) ; //表示func()函数没有返回值,void不可省
函数参数位置,如:
void func( void ) ; //表示func()函数即没有返回值,也没有参数。这里括号中的void可省。
修饰指针变量(一般多用于函数参数)
int func( void *a, void *b) ; //表示形参a b可以是任意类型指针变量
修饰常量(一般用于宏定义)
#define NULL ((void*)0) //这里NULL从数值上讲就是0,但这样写,可以表明NULL是个(任意)指针类型数据