美文网首页
Head First C学习之char cars[] = &qu

Head First C学习之char cars[] = &qu

作者: 燚随风 | 来源:发表于2016-03-18 10:04 被阅读48次
    char cars[] = "JQK";
    char *cards = "JQK";
    

    相同点
    1、是字符串常量"JQK"都在常量区,是只读的。
    2、都在栈上创建cards变量。
    两者的区别:
    1、声明数组变量cards时程序会在栈上创建一个住勾搭数组老保存"JQK"。并将字符串"JQK"复制到栈上。

    字符串数组.jpg
    2、指针cards变量将会保存字符串常量"JQK"的地址,因为常量"JQK"是只读的,因此程序试图修改指针cards的变量指向的字符串中的内容时就会失败。 字符串指针.jpg
    3、通常会用const去修饰这样的指针变量,一旦你试图修改用const修饰郭的变量,编译器就会报错。
    const char *cards = "JQK";
    

    相关文章

      网友评论

          本文标题:Head First C学习之char cars[] = &qu

          本文链接:https://www.haomeiwen.com/subject/nlnclttx.html