作为我在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","&","&&"等.
我知道所有这些意味着什么以及他们做了什么,这个问题与你在阅读符号时所说的内容(大声或内部)有关,特别是如果你认为这有助于理解并最大限度地减少混淆.
我这样说:
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"
但我不会称之为最佳实践.我没有发音括号,除非它是不明确的,例如运算符优先级.我几乎发出了所有其他的声音.我其实读==
作"平等"
我不是英国人,但这些是我认为最常使用的术语:
'=' - 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.
归档时间: |
|
查看次数: |
3476 次 |
最近记录: |