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语言好玩吧。