标签: c

为什么我的讲师写的所有C文件都以#开头?

为什么我的讲师写的所有C文件都以#开头?

我正在阅读一些C课程笔记,每个 C程序源文件都以程序#第一行的单个文件开头.

然后有空格,然后是其他东西后跟main函数.

是什么原因#

(现在这是不合时宜的,我不能真的问这个小伙子.)

这是一个例子(在结束时有一个额外的行#)

#

#include <stdio.h>
int main() {
   printf("Hello, World!");
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

c c-preprocessor

424
推荐指数
1
解决办法
2万
查看次数

bool的printf格式说明符是什么?

由于ANSI C99存在_Boolbool通过stdbool.h.但是printfbool 还有一个格式说明符吗?

我的意思是伪代码:

bool x = true;
printf("%B\n", x);
Run Code Online (Sandbox Code Playgroud)

哪个会打印:

true
Run Code Online (Sandbox Code Playgroud)

c c++ printf boolean

413
推荐指数
5
解决办法
59万
查看次数

NSLog C结构是否可能(如CGRect或CGPoint)?

我希望能够调试C结构,而无需显式键入它们所包含的每个属性.

即我希望能够做这样的事情:

CGPoint cgPoint = CGPointMake(0,0);
NSLog(@"%@",cgPoint);
Run Code Online (Sandbox Code Playgroud)

显然'%@'不起作用,因此问题.

c cocoa cocoa-touch objective-c

410
推荐指数
7
解决办法
10万
查看次数

使用标准C++/C++ 11/C检查文件是否存在的最快方法?

我想找到检查文件是否存在于标准C++ 11,C++或C中的最快方法.我有数千个文件,在对它们做一些事情之前我需要检查它们是否全部存在.我可以写什么而不是/* SOMETHING */以下功能?

inline bool exist(const std::string& name)
{
    /* SOMETHING */
}
Run Code Online (Sandbox Code Playgroud)

c c++ file stream

407
推荐指数
13
解决办法
56万
查看次数

是否有printf转换器以二进制格式打印?

我可以用printf作为十六进制或八进制数打印.是否有格式标记打印为二进制或任意基数?

我正在运行gcc.

printf("%d %x %o\n", 10, 10, 10); //prints "10 A 12\n"
print("%b\n", 10); // prints "%b\n"
Run Code Online (Sandbox Code Playgroud)

c printf

404
推荐指数
22
解决办法
73万
查看次数

如何仅使用标准库分配对齐的内存?

我刚刚完成了一项测试,作为求职面试的一部分,一个问题让我感到难过 - 甚至使用谷歌作为参考.我想看看stackoverflow工作人员可以用它做什么:

"memset_16aligned"函数需要传递给它的16byte对齐指针,否则它将崩溃.

a)如何分配1024字节的内存,并将其与16字节边界对齐?
b)执行memset_16aligned后释放内存.

{    
   void *mem;
   void *ptr;

   // answer a) here

   memset_16aligned(ptr, 0, 1024);

   // answer b) here    
}
Run Code Online (Sandbox Code Playgroud)

c memory-management

404
推荐指数
9
解决办法
17万
查看次数

对于繁重的计算,Fortran是否比C更容易优化?

我不时会读到Fortran是或者可以比C更快进行繁重的计算.这是真的吗?我必须承认我几乎不知道Fortran,但到目前为止我见过的Fortran代码并没有表明该语言具有C所没有的功能.

如果是真的,请告诉我原因.请不要告诉我哪些语言或库对数字运算有好处,我不打算写一个app或lib来做那个,我只是很好奇.

c performance fortran

402
推荐指数
17
解决办法
13万
查看次数

检查C中是否存在文件的最佳方法是什么?

有没有比简单地尝试打开文件更好的方法?

int exists(const char *fname)
{
    FILE *file;
    if ((file = fopen(fname, "r")))
    {
        fclose(file);
        return 1;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c filesystems cross-platform

401
推荐指数
8
解决办法
50万
查看次数

权威C书指南和清单

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

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

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

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

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

也可以看看:


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

c

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

哪个是用于将整数除以2的更好选项?

以下哪种技术是将整数除以2的最佳选择,为什么?

技巧1:

x = x >> 1;
Run Code Online (Sandbox Code Playgroud)

技术2:

x = x / 2;
Run Code Online (Sandbox Code Playgroud)

x是一个整数.

c c++ optimization division micro-optimization

401
推荐指数
20
解决办法
6万
查看次数