1.指针和指针类型
我们都知道变量有不同的类型,那指针有类型吗?
可以肯定地说,有。
type* 类型的指针表示该指针指向一个type类型的变量。
有了指针类型,就确定了指针的运算规律。
指针+-整数
int main()
{
int n = 10;
char* pc = (char*)&n;
int* pi = &n;
printf("%p\n",&n);
printf("%p\n",pc);
printf("%p\n",pc+1);
printf("%p\n",pi);
printf("%p\n",pi+1);
return 0;
}
输出结果为:
总结:指针的类型决定了指针向前或向后走一步有多大。
指针-指针
指针相减这种操作时允许的,我们来看一个实例:
int my_strlen(char* s)
{
char* p = s;
while (*p != '\0')
{
p++;
}
return p-s;
}
调试结果为:
显然,指针相减与指针的类型是有关的,但并不代表类型决定着指针的大小。
指