Convention for pointer *

本秂侑毒 提交于 2019-12-18 06:31:30

问题


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:


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.



来源:https://stackoverflow.com/questions/4339763/convention-for-pointer

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!