相关疑难解决方法(0)

学习C:视频课程推荐

我需要学习C来帮助我的教授做一些实验室工作.我只有大约两个星期准备好了.任何人都可以推荐一个好的课程/书籍,但最好是一个厚实和体面的视频课程(如麻省理工学院开放课程风格),但是你也有很好的经验.

谢谢你们

c

12
推荐指数
1
解决办法
2508
查看次数

无法用gcc编译C++

我需要在我的linux系统上编译代码.这是简单的代码,我不知道什么是错的:

我有这个代码,我无法编译它:

#include <iostream>
#include <string>
using namespace std;

int main()
{
    string char1, char2, char3, char4, char5, char6;
    cout<<"Hello this is your standard True and False quiz"<<endl;
    cout<<"Please enter 'T' or 'F'"<<endl;
    cout<<"No#1 George Washington invented the toilet?"<<endl;
    cin>>char1;
    if ( char1 != "T" || "F")
    {
        cout<<"You entered an incorrect character please reenter True of False"<<endl;
        cin>>char1;
    }
    if ( char1 != "T" || "F")
    {
        cout<<"You entered an incorrect character please reenter True of False"<<endl;
        cin>>char1;
    } …
Run Code Online (Sandbox Code Playgroud)

c++ gcc

11
推荐指数
3
解决办法
7512
查看次数

关于C中的返回函数的问题

我是一名学习过程序员的java程序员.有一个问题归档功能.这有什么区别:

main()
{
    struct person myperson;

    myperson = myfunction();

    return;
}

struct person myfunction()
{
     struct person myPerson;
     myPerson.firstname = "John";
     myPerson.lastname = "Doe";
     return myPerson;
}
Run Code Online (Sandbox Code Playgroud)

VS

main()
{
    struct person *myperson;

    myperson = myfunction();

    return;
}

struct person* myfunction()
{
     struct person *myPerson;
     myPerson = malloc(sizeof(struct person));
     myPerson->firstname = "John";
     myPerson->lastname = "Doe";
     return myPerson;
}
Run Code Online (Sandbox Code Playgroud)

这些在C中合法吗?你会选择一个而不是另一个.非常感谢你们!

c struct

10
推荐指数
2
解决办法
379
查看次数

标题是否存在而不是文件?

C:The Complete Reference中,Herbert Schildt说

标头通常是文件,但它们不一定是文件.编译器允许在内部预定义标头的内容.但是,出于所有实际目的,标准c头文件包含在与其名称对应的文件中.

如何在不成为文件的情况下存在标题?这篇文章的主题是什么?因为.h文件扩展名与标题一起使用.

c header-files

10
推荐指数
1
解决办法
189
查看次数

如何比较枚举值

我有一个关于enumC. 的问题

enum用以下方式定义了一个:

typedef enum
{
    Hello1 = 1,
    Hello2 = 2,
    Hello3 = 3
}Hello

Hello hello;

int value = 3;  
Run Code Online (Sandbox Code Playgroud)

那么如何将值与值进行比较Hello

例如:

if(value == Hello3)
{
}
Run Code Online (Sandbox Code Playgroud)

或者我应该像下面这样做:

if(value == Hello.Hello3)
{
}
Run Code Online (Sandbox Code Playgroud)

c enums

9
推荐指数
2
解决办法
3万
查看次数

如何在C中创建字符串类型变量

如何在C中声明字符串变量?

背景

在我学习的基础知识的过程中,我试图将我最古老的程序之一移植Bob到C.在程序中,脚本会询问用户有关他或她自己的信息,然后吐出响应.几乎所有这些变量都raw_input用于它们的信息 - 变量是字符串.但是,我发现没有办法声明C变量.

到目前为止,我已经尝试将变量声明为类型char,int.这是代码,在您闲暇时切换类型.

int main(int argc, const char * argv[])
{

    int name;
    printf("What is your name?");
    scanf("%s",&name);
    printf("Your name is %s", name );

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

错误信息

当我运行此代码时,Xcode返回一些奇怪的东西.这部分的全球化 - 全球突出显示.

0x7fff96d2b4f0:  pcmpeqb(%rdi), %xmm0
Run Code Online (Sandbox Code Playgroud)

最后,雅虎答案说我不得不使用一种名为a的东西character array.它发布于5年前,所以我认为有更好的方法.

编辑

我正在按照C编程的教程学习.

c string variable-declaration

8
推荐指数
1
解决办法
7万
查看次数

为什么我们必须在使用之前初始化变量?

可能重复:
C中声明的未初始化变量会发生什么?它有价值吗?

现在我正在读书Teach Yourself C in 21 Days.在第3章中,有一个这样的说明:

请勿使用尚未初始化的变量.结果可能无法预测.

请向我解释为什么会这样.该书没有提供进一步的说明.

c

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

c ++:本地数组定义与malloc调用

这有什么区别:

somefunction() {  
    ...  
    char *output;   
    output = (char *) malloc((len * 2) + 1);  
    ...  
}  
Run Code Online (Sandbox Code Playgroud)

还有这个:

somefunction() {  
    ...  
    char output[(len * 2) + 1];  
    ...  
}  
Run Code Online (Sandbox Code Playgroud)

什么时候比另一个更合适?

谢谢大家的回答.这是一个总结:

  1. 恩.1是堆分配
  2. 恩.2是堆栈分配
  3. 堆栈有一个大小限制,用于较小的分配
  4. 你必须释放堆分配,否则它会泄漏
  5. 一旦函数退出,就无法访​​问堆栈分配
  6. 在您释放堆分配(或应用程序结束)之前,可以访问堆分配
  7. VLA不是标准C++的一部分

更正欢迎.

这里有一些关于堆与堆栈之间差异的解释:
堆栈和堆的内容和位置是什么?

c c++ arrays malloc

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

为什么在C中右移负数会使最左边的位数为1?

赫伯特·希尔特(Herbert Schildt)的书"C完整参考文献"中说"(在有符号的负整数的情况下,右移将导致1被引入,以便保留符号位.)"

保留标志位有什么意义?

此外,我认为这本书是指使用符号位表示负数而不使用二进制补码的情况.但即使在这种情况下,推理似乎也没有任何意义.

c bit-manipulation bit-shift

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

arduino中的char*声明是什么?

什么声明会像char *song; *那样做什么?它是一个数组,指针还是别的什么?

arduino char

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