相关疑难解决方法(0)

权威C书指南和清单

这个问题试图收集社区维护的关于编程语言的优质书籍清单,目标是各种技能水平.

C是一种复杂的编程语言,通过阅读在线教程很难在旅途中学习.综合性书籍通常是学习语言的最佳方式,找到一本好书是第一步.重要的是要避免写得不好的书籍,更重要的是要避免包含严重技术错误的书籍.

请建议编辑接受的答案,以添加高质量的书籍,具有近似的技能水平和每本书的简短描述/描述.(请注意,问题已被锁定,因此不会接受新的答案.列表中会保留一个答案)

随意讨论书籍选择,质量,标题,摘要,技能水平以及您认为错误的任何其他内容.C社区认为令人满意的书籍将列在名单上; 其余的将定期删除.

对于由C和C++用户协会(ACCU)进行评论的书籍,应该与书籍一起添加指向这些评论的链接.

也可以看看:


这个问题在Meta上作为2018年删除问题审计的一部分进行了讨论.
达成共识的目的是保持其未被删除和积极维护.

c

401
推荐指数
1
解决办法
40万
查看次数

近和远指针

我们的常用指针(我们通常使用的指针),近指针和远指针之间有什么区别?现在的C/C++系统中有近端指针和远指针的实际用法吗?任何需要使用这些特定指针而不是其他c,c ++语义的实际场景将非常有用.

c c++ pointers

35
推荐指数
1
解决办法
3万
查看次数

数组外的指针比较的基本原理是UB

因此,标准(参考N1570)说明了以下关于比较指针的内容:

C99 6.5.8/5关系运算符

比较两个指针时,结果取决于指向的对象的地址空间中的相对位置.... [在聚合中剪切明显的比较定义] ... 在所有其他情况下,行为未定义.

这个UB实例的基本原理是什么,而不是指定(例如)转换intptr_t和比较它?

是否存在一些机器架构,其中指针的合理总排序难以构建?是否存在一些优化或分析,不受限制的指针比较会阻碍?

这个问题的删除答案提到这条UB允许跳过段寄存器的比较并且仅比较偏移.保存特别有价值吗?

(同样删除的答案,以及此处的答案,请注意,在C++中,std::less需要对指针实现总顺序,无论正常比较运算符是否执行.)

c pointers undefined-behavior language-lawyer

6
推荐指数
1
解决办法
446
查看次数

标签 统计

c ×3

pointers ×2

c++ ×1

language-lawyer ×1

undefined-behavior ×1