HelloWorld

ASM,C,LUA,LINUX(gentoo)
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

字符串常量,字符常量

Posted on 2011-09-29 01:01  光铭  阅读(352)  评论(0编辑  收藏  举报

0.c语言并没有内建的字符串类型,传统上都是以'\0’结尾的字符数组来表示字符串的

而且,c语言也没有什么真正的字符类型,字符是由它在ASCII码中的整数来表示的。

1.当一个字符串常量出现在表达式中时,它的值是一个指针常量,它指向它的第一个字符的地址。

这就是为什么总会出现类似char *a = "hello";这样表达式的原因。

"hello"存储在代码段中,a存储在栈中。

“xyz"表示x的地址

*"xyz"表示‘x'

”xyz"+1表示'y'的地址

"xyz"[2]表示'z'

 

2.sizeof('a')的值是1吗?

NO,答案是4

在c语言中字符常量是int型,因此sizeof('a')是sizeof(int).