C语言变量在内存中的地址:[5]字符变量的地址
1、首先我们还是新建一个工程,然后新建一个文件,命名为string.c,如下图所示:
![C语言变量在内存中的地址:[5]字符变量的地址](https://exp-picture.cdn.bcebos.com/a965c6e9ccd2bb66a6cbd2f39b2a04e23fa2c625.jpg)
2、首先,对于一般的字符变量,它的地址是可以输出的,如下图所示:
![C语言变量在内存中的地址:[5]字符变量的地址](https://exp-picture.cdn.bcebos.com/a31e1214c27bd282811af6f53cb1eef97ebd362a.jpg)
3、然后,对于字符变量里面有个很常用,也很特殊的 ‘\0’,这个变量在内存中也会有个地址,我们可以看到如下代码的运行结果:
![C语言变量在内存中的地址:[5]字符变量的地址](https://exp-picture.cdn.bcebos.com/efb861bd4c7c34b332d264095841037de037312a.jpg)
4、然而,这个变量明明是字符变量,而且我们知道字符变量在输出时用的是%c进行格式控制,但是输出结果却出乎意料,请看:
![C语言变量在内存中的地址:[5]字符变量的地址](https://exp-picture.cdn.bcebos.com/23fd63c5cf672b5fcdd552253314f4d0b403272a.jpg)
5、原来,对于字符变量'\0'来说,它是代表着一个结束标志,是不能直接被输出出来的,是不可打印字符,同样意义的像,'\a',是一些具有特殊意义的字符,并不能直接输出在屏幕上,只是具有特定含义而已。
![C语言变量在内存中的地址:[5]字符变量的地址](https://exp-picture.cdn.bcebos.com/c3c22dbf3bef354f742be38d23db574afb321b2a.jpg)