Convention for pointer *

2019-01-26 13:15发布

Out of curiosity; why is convention for pointers in C languages like this:

NSString *str = ...

Wouldn't be more appropriate to write:

NSString* str = ...

because we are defining pointer to NSString? (in Objective-C methods we do have (NSString*)parameter1 convention)

Again - I'm asking out of curiosity and to be able to better understand logic behind this... I'm not trying to reinvent the wheel or start flame war.

1条回答
来,给爷笑一个
2楼-- · 2019-01-26 14:04

If you declare multiple pointer variables in a single declaration, you must write

char *a, *b;

since the declaration

char* a, b;

would declare a as a char pointer, but b as a plain char. IOW, this spacing shows that the asterisk really binds to the name only where it appears.

查看更多
登录 后发表回答