<variable> 在 C 中 * 和 * 之间有什么区别<variable>吗?



在以下函数声明中

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 * );

最新更新