带有typedef或var名称的星号

时间:2014-04-08 20:18:04

标签: c

char* myStringchar *myString是最佳做法吗?我的教授一直使用char* myString,这似乎比char *myString更容易混淆,但我也看到许多开发人员将*与字符串

放在一起

4 个答案:

答案 0 :(得分:2)

有些人更喜欢char *myString因为指针不是“分配”的。那就是:

char* str1, str2;

// Is equivalent to:
char* str1; // or char *str1;
char str2;  // Note, not a pointer

通过这种方式定义它们:

char *str1, str2;

更清楚的是,一个是指针,一个不是。另请注意,某些编码样式指南不鼓励在同一行上使用声明多个变量,因此这并不重要,在这种情况下(我相信)char* str;更具可读性。

答案 1 :(得分:1)

这完全取决于程序员的口味。 我实际把它放在中间,两边都有空格。

char * myString;

但是我担心这是无休止的讨论之一,例如在if语句中打开'{'的位置......

我的建议是选择一个你喜欢的并与之保持一致。确保在整个代码库中统一使用它。

答案 2 :(得分:0)

两者都可以接受。但是,char*只是更加防错。

答案 3 :(得分:0)

至于我;最佳做法是将星号放在变量名之前:假设您要声明两个指针;然后你会这样做:

char *a, *b;

您将避免此错误:

char* a, b;