数组和指针的用法有关问题
数组和指针的用法问题
代码如上
我记得定义一个指针
char *p = "abcdefg";
然后可以这样取她得值:
p[1];//b
但是在调用哪个reverse那个函数的时候却用不了,为什么啊
还有定义一个数组
char m[10] = “ads”;
当然也能这样调用吧:*m;//就是a了吧
但是在外面调用某个函数的时候,却用不了 怎么回事?
------解决方案--------------------
char *code="iloveyou\0";定义一个指针指向字符串常量,该常量不可改变。
这和char code[]="iloveyou\0";是两码事。
------解决方案--------------------
++++++++++
"iloveyou\0"是个常量
应 const char* code="iloveyou\0"
------解决方案--------------------
char *code="iloveyou\0";
改为:
char code[]="iloveyou\0";
#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";是两码事。
------解决方案--------------------
++++++++++
"iloveyou\0"是个常量
应 const char* code="iloveyou\0"
------解决方案--------------------
char *code="iloveyou\0";
改为:
char code[]="iloveyou\0";