【问题标题】:Difference between declaration statement and assignment statement in C? [duplicate]C中声明语句和赋值语句的区别? [复制]
【发布时间】:2014-04-22 18:30:13
【问题描述】:

我是编程新手并正在尝试学习 C。我正在阅读一本书,其中我读到了这些语句,但无法理解它们的含义。

【问题讨论】:

    标签: c difference


    【解决方案1】:

    声明:

    int a;
    

    作业:

    a = 3;
    

    在一个语句中声明和赋值:

    int a = 3;
    

    声明说:“我将使用一个名为“a”的变量来存储一个整数值。”赋值语句说:“将值 3 放入变量 a。”

    (正如@delnan 指出的那样,我的最后一个示例在技术上是初始化,因为您要指定变量的开头值,而不是更改值。初始化具有特殊的语法,也支持指定结构或数组的内容。)

    【讨论】:

    • 第三个不是作业。这是初始化。
    • 它在 C 中很重要,因为你可以在初始化中做一些在赋值中不能做的事情。例如 int a[2] = {}; 有效,但 int a[2]; a = {}; 无效。
    【解决方案2】:

    声明一个变量会将其设置为稍后在代码中使用。您可以创建变量来保存数字、字符、字符串(字符数组)等。

    你可以声明一个变量而不给它一个值。但是,在变量有值之前,它并不是很有用。

    您声明一个变量,如下所示:char myChar; 注意:此变量未初始化。

    声明变量后,您可以为其赋值,例如:myChar = 'a'; 注意:为 myChar 赋值会初始化变量。

    为了让事情变得更简单,如果您在声明变量时知道变量应该是什么,您可以简单地声明它并在一个语句中为其赋值:char myChar = 'a'; 注意:这声明并初始化了变量。

    因此,一旦您的 myChar 变量被赋予了一个值,您就可以在其他地方的代码中使用它。示例:

    char myChar = 'a';
    char myOtherChar = 'b';
    printf("myChar: %c\nmyOtherChar: %c", myChar, myOtherChar);
    

    这会将 myChar 和 myOtherChar 的值打印到标准输出(控制台),如下所示:

    myChar: a
    myOtherChar: b
    

    如果您声明 char myChar; 而不为其分配值,然后尝试将 myChar 打印到标准输出,您将收到一条错误消息,告诉您 myChar 尚未初始化。

    【讨论】:

    • 您主要描述了声明一个变量而不初始化它与声明一个变量并初始化它之间的区别。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-04
    • 2012-10-25
    • 2011-10-24
    • 2015-07-20
    • 2020-05-18
    • 1970-01-01
    相关资源
    最近更新 更多