C语言(字符串的本质)
2016-01-31 13:11
716 查看
C语言没有字符串类型,所有的字符串其实都是字符指针,而且是一个指向其首字符的指针。比如"abc"就是一个指向字符'a'的指针。
拓展:
char *p = "abc";
此处,就是将'a'的地址赋值给了指针p,因此我们一般说“p指向了字符串"abc"其实只是一种简便的习惯说法,严格地说法应该是“p指向了字符串"abc"的首字符'a'”。
根据这个小知识点,和指针运算规则,我们就会得出一些匪夷所思但却正确的表达式:
"abc"[1] 其实就是 'b',你可以打印出来试试:printf("%c\n", "abc"[1]);
1["abc"] 其实也是'b'
怎样?C语言好玩吧。
拓展:
char *p = "abc";
此处,就是将'a'的地址赋值给了指针p,因此我们一般说“p指向了字符串"abc"其实只是一种简便的习惯说法,严格地说法应该是“p指向了字符串"abc"的首字符'a'”。
根据这个小知识点,和指针运算规则,我们就会得出一些匪夷所思但却正确的表达式:
"abc"[1] 其实就是 'b',你可以打印出来试试:printf("%c\n", "abc"[1]);
1["abc"] 其实也是'b'
怎样?C语言好玩吧。
相关文章推荐
- C语言(指针变量的大小)
- ②C语言,函数调用求素数
- C语言(数组与指针的关系)
- 单片机51c语言程序实例(可调控的跑马灯)+Proteus仿真+源代码
- 单片机51c语言程序实例(可调控的跑马灯)+Proteus仿真+源代码
- C++基本概念——指针和引用
- C++ STL仿函数
- 转:11条最全面的C/C++编码规范总结
- C++引用计数(reference counting)技术简介(1)
- C++引用计数(reference counting)技术简介(1)
- BASIC-3 字母图形
- fedora 20下安装vim的C++补全插件clang_complete
- C语言中16进制字符串转为字节流的实现
- 修改字符串 两种方法,对形参传过来的
- C++ 程序设计 week 5 继承和派生
- C++11:右值引用和转发型引用
- c++读取文件目录
- 一起talk C栗子吧(第一百一十五回:C语言实例--线程同步之互斥量一)
- C++ DirectX 游戏开发初级视频教程 19 资源下载链接
- CF618D - Hamiltonian Spanning Tree