数组和指针的用法有关问题

数组和指针的用法问题

#include <iostream>
#include <string.h>

using namespace std;
void Reverse(char *code)
{
    int len;
    len = strlen(code);
    cout<<code[8];
    int i,j;
    char temp;
    for(i=0,j=len;i<j;i++,j--)
    {
        temp = code[i];
        code[i] = code[j];
        code[j] = temp;
    }
};
int main()
{
    char *code="iloveyou\0";
    Reverse(code);
    cout<<code[4]<<endl;
}




代码如上

我记得定义一个指针
char *p = "abcdefg";
然后可以这样取她得值:
p[1];//b
但是在调用哪个reverse那个函数的时候却用不了,为什么啊

还有定义一个数组
char m[10] = “ads”;
当然也能这样调用吧:*m;//就是a了吧

但是在外面调用某个函数的时候,却用不了  怎么回事?
------解决方案--------------------
char *code="iloveyou\0";定义一个指针指向字符串常量,该常量不可改变。
这和char code[]="iloveyou\0";是两码事。
------解决方案--------------------
引用:
char *code="iloveyou\0";定义一个指针指向字符串常量,该常量不可改变。
这和char code[]="iloveyou\0";是两码事。

++++++++++
"iloveyou\0"是个常量
应 const char* code="iloveyou\0"
------解决方案--------------------
char *code="iloveyou\0";
改为:
char code[]="iloveyou\0";