微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C中的* <variable>和<variable> *之间是否有区别?

如何解决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 举报,一经查实,本站将立刻删除。