C语言中的字符串常量

标签: , ,

说起字符串常量,学过C语言的人都不陌生。字符串常量的书写方式是一对双引号包围一串字符,如:

"Hello, world"

当一个字符串常量出现于一个表达式中时,表达式所使用的值就是这些字符所储存的地址,而不是这些字符本身。因此,你可以把字符串常量赋值给一个“指向字符的指针”,后者指向这些字符所储存的地址,如:

char *str = "Hello, world";

但是,你不能把字符串常量赋值给一个字符数组,因为字符串常量的直接值是一个指针,而不是这些字符本身。简单的说,字符串常量的值是这些字符在内存中的地址。

现在考虑下面一段代码:

if("Demon")
    printf("true");
else
    printf("false");

你认为会输出什么,true or false?

赞赏

微信赞赏支付宝赞赏

随机文章:

  1. MS-DOS 7.1与GNU GPL协议
  2. VBS显示桌面
  3. BAT批处理编辑器iBat
  4. WordPress创建标签云(Tags)页面
  5. 确定Windows XP到底是UCS-2的还是UTF-16的

3 条评论 发表在“C语言中的字符串常量”上

  1. iSayme说道:

    输出应该是:true吧 哈哈

  2. Dawnson说道:

    应该是true吧!

  3. Tanky Woo说道:

    字符串首地址的值,当然是true

留下回复