标题: C语言中的字符串常量
作者: Demon
链接: https://demon.tw/programming/c-string-constant.html
版权: 本博客的所有文章,都遵守“署名-非商业性使用-相同方式共享 2.5 中国大陆”协议条款。
说起字符串常量,学过C语言的人都不陌生。字符串常量的书写方式是一对双引号包围一串字符,如:
"Hello, world"
当一个字符串常量出现于一个表达式中时,表达式所使用的值就是这些字符所储存的地址,而不是这些字符本身。因此,你可以把字符串常量赋值给一个“指向字符的指针”,后者指向这些字符所储存的地址,如:
char *str = "Hello, world";
但是,你不能把字符串常量赋值给一个字符数组,因为字符串常量的直接值是一个指针,而不是这些字符本身。简单的说,字符串常量的值是这些字符在内存中的地址。
现在考虑下面一段代码:
if("Demon") printf("true"); else printf("false");
你认为会输出什么,true or false?
赞赏微信赞赏支付宝赞赏
随机文章:
输出应该是:true吧 哈哈
应该是true吧!
字符串首地址的值,当然是true