发音C代码的最佳实践

mas*_*mas 19 c

作为我在C编程前的编程正规教育,我从K&R和其他文本中学习了C语言.

在阅读和编写C代码时是否有有用的惯例?

例如,在

 d = emalloc(sizeof(*d));
 d->d_name = estrdup(name);
Run Code Online (Sandbox Code Playgroud)

是'='最好读为'设置为'或'等于'或其他什么?

那么'=='会被解读为'等于'或'是'或'具有与'相同的价值'?

与"*d","d-> d_name"类似,然后是"&d","&","&&"等.

我知道所有这些意味着什么以及他们做了什么,这个问题与你在阅读符号时所说的内容(大声或内部)有关,特别是如果你认为这有助于理解并最大限度地减少混淆.

Mar*_*off 10

程序员的ASCII发音规则有一个很大的列表,包括ASCII发音规则......不一定是发音指针的最佳方式,但至少是如何用语言表达符号.


Sin*_*ion 9

我这样说:

d = emalloc(sizeof(*d));
Run Code Online (Sandbox Code Playgroud)

迪伊等于明星的尺寸

d->d_name = estrdup(name);
Run Code Online (Sandbox Code Playgroud)

dee arrow dee下划线名称等于ee stir dupe name"

但我不会称之为最佳实践.我没有发音括号,除非它是不明确的,例如运算符优先级.我几乎发出了所有其他的声音.我其实读==作"平等"


PaV*_*PaV 5

我不是英国人,但这些是我认为最常使用的术语:

'=' - assign to
'==' - equals
d->d_name member of a struct
&d - address of d
& - bitwise and
&& - logical and (or just "and" for short)
*d - dereference d, or in case of *d = x "assign x to what is being pointed by d"
Run Code Online (Sandbox Code Playgroud)

至于你的例子:

d = malloc(sizeof(*a));
Run Code Online (Sandbox Code Playgroud)

分配(malloc)一定量的内存,等于a指向的内容大小,并将结果分配给d.

d->d_name = estrdup(name);
Run Code Online (Sandbox Code Playgroud)

将名称作为参数的estrdup调用返回的值分配给d的成员d_name.