注册 登录
编程论坛 C++教室

初学求教:指针变量的问题

anlew2009 发布于 2012-12-13 17:31, 289 次点击
帮忙看下这个代码,搞不懂啊
//指针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;
}

3 回复
#2
crystall2012-12-13 17:35
这里是访问,当然可以,有没有把加1后的数据写回去。
#3
crystall2012-12-13 17:38
程序代码:
#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;
}
#4
anlew20092012-12-13 17:56
回复 3楼 crystall
明白了,3Q
1