初学求教:指针变量的问题
帮忙看下这个代码,搞不懂啊//指针b是只读的,可为什么还能把数组各元素取出来?要移动指针不是要改变指针b保存的地址吗?
void fun(int * const b)
{
printf("%d\n%d\n",*(b+1),b[1]);
}
int main(int argc, char* argv[])
{
int b[3] = {1, 2, 3};
fun(b);
return 0;
}
#include "stdafx.h" #include<stdio.h> void fun(int * const b) { printf("%d\n%d\n",*(b+1),b[1]); //这样的话,移动了指针 //(你参数设置了const,编译器语法检查,以下注释的代码编译不同通过) //b = (b+1); } int main(int argc, char* argv[]) { int b[3] = {1, 2, 3}; fun(b); return 0; }