c++中的星号*

2025-03-06 22:43:28
推荐回答(4个)
回答1:

那不叫void型*号,*和void是一起的,可以写成void*也可以写成void *,叫做void *型指针,只是后面的指针变量没有写出来,所以是错的,而你那个foo(int a, void *b)是对的。C/C++规定,void *型指针是只有指向没有类型的指针,所以具体应用时要强制为所需的类型,实际上成了能够指向任何类型的指针。

回答2:

指针类型。
不是任何特定类型的指针。
声明函数时可以无形参名,但定义函数时不能没有名称,否则报错:parameter name omitted

回答3:

定义函数时,不会是这样写的,一定会有变量名

在声明时,可以没有变量名,只需要有类型就可以,如:
int foo(int , void *) ;//声明一个函数

int foo(int a, void *b) //void *表示任意类型指针,但在使用该变量时,一定要强制转换成相应的变量

{
char *c=(char *b); //输入的是字符串,强制转换成char *,这样才可以得到正确的信息。

printf( "a=%d b=%s\n", a , b );
return 0;

}

回答4:

其实我也正在纠结星号是什么意思。