相关疑难解决方法(0)

最终C++书籍指南和列表

这个问题试图收集每年出版的数十本不良C++书籍中的少数珍珠.

与许多其他编程语言不同,这些编程语言经常从互联网上的教程中随处获取,很少有人能够快速学习C++,而无需学习编写精良的C++书籍.这样做太复杂了.事实上,它是如此庞大和复杂,有很多非常糟糕的C++书籍.我们并不是在谈论糟糕的风格,而是体育明显的事实错误促进糟糕的编程风格.

请编辑接受的答案,以提供高质量的书籍和近似的技能水平 - 最好 C++聊天室讨论您的添加.(如果他们不同意建议,常客可能会毫不留情地撤销你的工作.)添加一篇关于你亲自阅读/受益的每本书的简短描述/描述.随意讨论质量,标题等.符合标准的书籍将被添加到列表中.由C和C++用户协会(ACCU)撰写评论的图书都有指向评论的链接.

*注意:常见问题和其他资源可以在C++标签信息.

c++ c++-faq

4246
推荐指数
1
解决办法
224万
查看次数

如何使用extern在源文件之间共享变量?

我知道C中的全局变量有时会有extern关键字.什么是extern变量?宣言是什么样的?它的范围是什么?

这与跨源文件共享变量有关,但这是如何工作的?我在哪里用extern

c global-variables extern

942
推荐指数
13
解决办法
67万
查看次数

为什么这些构造使用前后增量未定义的行为?

#include <stdio.h>

int main(void)
{
   int i = 0;
   i = i++ + ++i;
   printf("%d\n", i); // 3

   i = 1;
   i = (i++);
   printf("%d\n", i); // 2 Should be 1, no ?

   volatile int u = 0;
   u = u++ + ++u;
   printf("%d\n", u); // 1

   u = 1;
   u = (u++);
   printf("%d\n", u); // 2 Should also be one, no ?

   register int v = 0;
   v = v++ + ++v;
   printf("%d\n", v); // 3 (Should be the …
Run Code Online (Sandbox Code Playgroud)

c increment operator-precedence undefined-behavior sequence-points

793
推荐指数
13
解决办法
7万
查看次数


写入.txt文件?

如何将一小段文本写入.txt文件?我一直在谷歌搜索超过3-4个小时,但无法找到如何做到这一点.

fwrite(); 有这么多论点,我不知道如何使用它.

当您只想为文件写一个名字和几个数字时,最简单的功能是什么.txt

编辑:添加了一段我的代码.

    char name;
    int  number;
    FILE *f;
    f = fopen("contacts.pcl", "a");

    printf("\nNew contact name: ");
    scanf("%s", &name);
    printf("New contact number: ");
    scanf("%i", &number);


    fprintf(f, "%c\n[ %d ]\n\n", name, number);
    fclose(f);
Run Code Online (Sandbox Code Playgroud)

c linux

139
推荐指数
2
解决办法
56万
查看次数

是否可以将C指针初始化为NULL?

我一直在写类似的东西

char *x=NULL;
Run Code Online (Sandbox Code Playgroud)

假设是

 char *x=2;
Run Code Online (Sandbox Code Playgroud)

会创建一个char指向地址2 的指针.

但是,在GNU C编程教程中,它表示int *my_int_ptr = 2;将整数值存储2my_int_ptr分配时的任何随机地址.

这似乎意味着我自己char *x=NULL正在将NULL一个cast 的值分配给char内存中的某个随机地址.

#include <stdlib.h>
#include <stdio.h>

int main()
{
    char *x=NULL;

    if (x==NULL)
        printf("is NULL\n");

    return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)

事实上,印刷品

一片空白

当我编译并运行它时,我担心我依赖于未定义的行为,或者至少是指定不足的行为,我应该写

char *x;
x=NULL;
Run Code Online (Sandbox Code Playgroud)

代替.

c pointers initialization

88
推荐指数
6
解决办法
3万
查看次数

Visual Studio代码includePath

我正在尝试在Visual Studio Code中构建C/C++.我安装了C/C++和所有相关的扩展.

#include <stdio.h>
int main() {
    printf("Test C now\n");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是在#include <stdio.h>"添加包含设置路径" 下面有一条绿线.当我单击它时,它会移动到"c_cpp_properties.json".

我可以在下面的配置中添加包含路径的方式和位置?

"configurations": [
    {
        "name": "Mac",
        "includePath": ["/usr/include"]
    }
]
Run Code Online (Sandbox Code Playgroud)

c c++ visual-studio-code

51
推荐指数
4
解决办法
14万
查看次数

C代表R程序员 - 推荐的资源/方法一旦超过基础知识

我想提高我的C技能,以便更有能力将R代码转换为C,这将是有用的.人们有什么提示可以帮助我?

背景:几年前我参加了一个在线Intro to C课程,加上Writing R ExtensionsS Programming(Venables&Ripley)使我能够将瓶颈操作转换为C,例如计算子矩阵的乘积(我是否重新发明了转那里?).但是我想稍微超出这个范围,例如转换更大的代码块,利用线性代数例程等.

毫无疑问,我可以从我以前使用过的资源中学到更多东西,但我想知道是否还有其他人推荐的资源?通过示例进行示例显然是了解更多信息的一种方式:Brian Ripley 在S高效编程研讨会上提供了几个从S原型转移到S + C的示例以及最近的Bioconductor研讨会高级R用于生物信息学(抱歉不能post hyperlink)包括一个编写R + C算法的实验室.更像这样,或其他建议将不胜感激.

c r

29
推荐指数
3
解决办法
2156
查看次数

变量声明的函数

我正在阅读C编程语言(第5章),我对此示例感到困惑:

int n, array[SIZE], getint(int *);
Run Code Online (Sandbox Code Playgroud)

为什么这个函数在这里调用?这只是一些棘手的例子和无效的代码吗?

c

15
推荐指数
1
解决办法
468
查看次数

从Java角度看C指针和数组的教程

我现在是大学新生,主修CS.我刚刚完成了我的"计算机程序设计入门"课程.我喜欢它,觉得我学到了很多东西.

几天前,我读了乔尔的"Java学校的危险"."链接列表?" 我想,"那些甚至都不是很难.我们已经完成了一些已经上课的人." 这是正确的,因为在Java中,它们并不那么难.但无论如何,我试着用C语言写一个.

它太难了!

Joel是对的,我认为...... Java为你处理了许多小小的东西,它真的不那么难.但我决心克服我学校的Java-tude并学习如何在C中写下这个dang链表.

所以我想,有人问,有没有人知道学习C的好(和免费)在线教程,而不是试图提出很多很小的问题?具体来说,学习如何处理指针,以及所有那些符号(&,*,**,[]以及它们如何协同工作),我想,认为我已经在Java中很精通,所以我不需要对如何写教程一个"你好,世界!" 程序.但是我绝对不准备进入任何超级高级的C或C++,因为我所知道的只是Java.

任何帮助赞赏!

c java arrays pointers

14
推荐指数
1
解决办法
646
查看次数