根据标题。我看到某些人将指针声明为char* s
,其他人将其声明为char *s
。另外,我看到有些人在做s = (char*) malloc(5)
而不是做*s = malloc(5)
。那之间有什么区别吗?抱歉,如果重复这个问题,我理解指针的概念,但很难理解用于表示C中指针的语法。
答案 0 :(得分:5)
没有区别。
一种惯例已经成长:民间喜欢将char*
视为s
的类型(当然,它是一个指针);这可以使源代码更具可读性。
但实际上char
是类型,*s
是变量。您可以通过编写
char* s, t;
s
是一个指针,但t
是一个普通的char
。如果您希望s
和t
都成为指针,则必须编写
char *s, *t;
或混淆
char* s, *t;