Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
786 views
in Technique[技术] by (71.8m points)

objective c - Convention for pointer *

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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...