字符串的表示形式
在C语言程序中,可以用两种方法访问一个字符串(1)用字符数组存放一个字符串,然后用字符数组名和下标访问字符数组中的元素,也可以通过数组名和%s格式符从字符数组中输出一个字符串。此前已作过介绍了。
(2)用字符指针指向一个字符串。可以不定义字符数组,而定义一个字符指针。用字符指针指向字符串中的字符。
字符指针变量和字符数组的区别
虽然用字符数组和字符指针变量都能实现字符串的存储和运算,但它们二者之间是有区别的,不应混为一谈,主要有以下几点。
(1)字符数组由若干个元素组成,每个元素中放一个字符;而字符指针变量中存放的是地址(字符串第1个字符的地址),绝不是将字符串放到字符指针变量中。
(2)赋值方式。对字符数组只能对各个元素赋值,不能用以下方法对字符数组赋值。
小结
准确地理解指针的含义。指针就是地址,凡是出现“指针”的地方,都可以用“地址”代替,例如,变量的指针就是变量的地址,指针变量就是地址变量。
要区别指针和指针变量。指针就是地址本身。指针变量是用来存放地址的变量。有人认为“指针是类型名,指针的值是地址”,这是不对的。类型是没有值的(如字符类型有值吗?),只有变量才有值,正确的说法是指针变量的值是一个地址
指向。地址就意味着指向,因为通过地址能找到具有该地址的对象。对于指针变量来说,把谁的地址存放在指针变量中,就说此指针变量指向谁。但应注意,并不是任何类型数据的地址都可以存放在同一个指针变量中,只有与指针变量的基类型相同的数据的地址才能存放在相应的指针变量中。
指针运算小结
1.指针变量加减一个整数
2.对指针变量赋值
3.指针变量可以有空值,即该指针变量不指向任何变量,表示:p=NULL;
4.两个指针变量可以相减
5.两个指针变量比较