在 C 中,*<variable> 和 <variable>* 之间有什么区别吗?
In there any difference between *<variable> and <variable>* in C?
在下面的函数声明中
my_struct* create(char *name);
my_struct*
和*name
中*
的意思有区别吗?
我理解 char *name
意味着我们将传递一个 char 指针给函数 my_struct
调用 name
。我还知道该函数将 return 指向某物(的内存地址)的指针。我不明白的是为什么 my_struct*
而不是 *my_struct
?
在此声明中
my_struct * create(char *name);
函数的名称是 create
。该函数有一个 char *
类型的参数,并且该函数具有 return 类型的 my_struct *
。那就是 returns 一个指向类型 my_struct
.
的对象的指针
Is there any difference in the meaning of * in my_struct* and *name
my_struct
是类型说明符。所以 my_struct *
是一个指针类型。 name
是表示参数名称的标识符。参数(标识符)的类型 name
是 char *
.
注意这些参数的声明是一样的
char* name
char * name
char *name
即参数类型为char *
,参数名称为name
.
在不同时的函数声明中,其参数的定义名称可以省略。
所以上面的函数声明也可以这样写
my_struct * create( char * );
在下面的函数声明中
my_struct* create(char *name);
my_struct*
和*name
中*
的意思有区别吗?
我理解 char *name
意味着我们将传递一个 char 指针给函数 my_struct
调用 name
。我还知道该函数将 return 指向某物(的内存地址)的指针。我不明白的是为什么 my_struct*
而不是 *my_struct
?
在此声明中
my_struct * create(char *name);
函数的名称是 create
。该函数有一个 char *
类型的参数,并且该函数具有 return 类型的 my_struct *
。那就是 returns 一个指向类型 my_struct
.
Is there any difference in the meaning of * in my_struct* and *name
my_struct
是类型说明符。所以 my_struct *
是一个指针类型。 name
是表示参数名称的标识符。参数(标识符)的类型 name
是 char *
.
注意这些参数的声明是一样的
char* name
char * name
char *name
即参数类型为char *
,参数名称为name
.
在不同时的函数声明中,其参数的定义名称可以省略。
所以上面的函数声明也可以这样写
my_struct * create( char * );