如何解决C中的* <variable>和<variable> *之间是否有区别?
在以下函数声明中
my_struct* create(char *name);
*
和my_struct*
中*name
的含义是否存在差异?
我知道char *name
意味着我们将一个char指针传递给名为my_struct
的函数name
。我还知道该函数将返回指向某物(的内存地址)的指针。我不明白的是为什么my_struct*
而不是*my_struct
?
解决方法
在此声明中
my_struct * create(char *name);
函数的名称为create
。该函数具有一个类型为char *
的参数,而该函数具有返回类型my_struct *
。即它返回一个指向my_struct
类型的对象的指针。
my_struct *和* name中*的含义是否存在差异
my_struct
是类型说明符。因此my_struct *
是指针类型。 name
是表示参数名称的标识符。参数(标识符)name
的类型为char *
。
请注意,这些参数声明是相同的
char* name
char * name
char *name
该参数的类型为char *
,该参数的名称为name
。
在不同时的函数声明中,可以省略其参数定义名称。
所以上面的函数声明也可以写成
my_struct * create( char * );
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。