1.数组与指针
把数组的首地址指向数组的指针变量
int a[5],*pa;
pa = a;//数组名表示数组的首地址
也可以写成:
pa = &a[0];//两者是等价的
pa = pa + 2;//pa指向a[2]
空指针是由对指针变量赋予0值而得到的。对指针变量赋0值和不赋值是不同的。指针变量未赋值时,可以是任意值,但不能使用,否则会造成错误。
两个指针变量可以做减法运算,相减之差是两个指针所指数组元素之间相差的元素个数,实际上是两个地址相减之差再除以该数组元素的长度(字节数),但不可以做加法运算。
2.字符串与指针
char *pc = "jake";//这里并不是把整个字符串装入指针变量,而是把该字符串的字符数组的首地址装入指针变量