char * s和char * s有什么区别?

时间:2016-03-07 11:13:25

标签: c pointers

根据标题。我看到某些人将指针声明为char* s,其他人将其声明为char *s。另外,我看到有些人在做s = (char*) malloc(5)而不是做*s = malloc(5)。那之间有什么区别吗?抱歉,如果重复这个问题,我理解指针的概念,但很难理解用于表示C中指针的语法。

1 个答案:

答案 0 :(得分:5)

没有区别。

一种惯例已经成长:民间喜欢将char*视为s类型(当然,它是一个指针);这可以使源代码更具可读性。

但实际上char是类型,*s是变量。您可以通过编写

来看到这一点

char* s, t;

s是一个指针,但t是一个普通的char。如果您希望st都成为指针,则必须编写

char *s, *t;

或混淆

char* s, *t;