目录
引言
在之前的学习了中我们解到了指针的一些特点,在这篇文章中我们将深度刨析指针的特性
1.
指针就是个变量,用来存放地址,地址唯一标识一块内存空间。
2.
指针的大小是固定的
4/8
个字节(
32
位平台
/64
位平台)。
3.
指针是有类型,指针的类型决定了指针的
+-
整数的步长,指针解引用操作的时候的权限。
4.
指针可以进行运算。
1. 字符指针
在指针的类型中我们知道char*为字符指针,这里我们举个例子说明一下
int main()
{
char ch = 'w';
char *pc = &ch;
*pc = 'x';
printf("%c",*pc);
return 0;
}
字符指针不仅仅可以指向一个指针,它还可以指向一个字符串,本质其实是字符指针指向了字符串的第一个字符的地址。
我们可以写一段代码来观察一下
int main()
{
const char* pstr = "hello bit.";
printf("%s\n", pstr);
return 0;
}
仔细思考一下,这里是把一个字符串放到pstr指针变量里了吗?
不是,上面代码的意思是把一个常量字符串的首字符 h 的地址存放到指针变量 pstr 中,切记字符指针存储的是字符串首字母的地址
为了加深大家的理解我们可以分析一下下面的图片
这里
str3