在以下函数声明中
my_struct* create(char *name);
my_struct*
和*name
中*
的含义有什么不同吗?
我理解char *name
意味着我们将向函数my_struct
传递一个名为name
的char指针。我还了解到,该函数将返回一个指向(的内存地址(某个东西的指针。我不明白的是为什么my_struct*
而不是*my_struct
?
在此声明中
my_struct * create(char *name);
函数的名称是CCD_ 10。该函数有一个类型为char *
的参数,并且该函数具有返回类型my_struct *
。也就是说,它返回一个指向类型为my_struct
的对象的指针。
my_struct*和*name 中的*的含义有什么区别吗
my_struct
是一个类型说明符。所以my_struct *
是一个指针类型。CCD_ 16是表示参数的名称的标识符。参数(标识符(name
的类型是char *
。
请注意,这些参数声明是相同的
char* name
char * name
char *name
即参数的类型是CCD_ 19并且参数的名称是name
。
在不同时的函数声明中,可以省略参数的定义名称。
所以上面的函数声明也可以像一样编写
my_struct * create( char * );