用一星指针接受一星数据,也能改变其中数据啊???????
#include "stdafx.h"char* fun(char* p) //用一星指针接受一星数据,也能改变其中数据啊???????
{
*(p + 3) = 'd';
return p;
}
int _tmain(int argc, _TCHAR* argv[])
{
char* pchar = new char[256];
for(int i =0 ;i<256;i++)
pchar[i] = 'a';
printf("%s\n",fun(pchar));
printf("%s\n",pchar); //数据被改变!!!!!!!!!!!!
return 0;
}
#include <iostream>
using namespace std;
void func(char* p)
{
p = new char[10];
strcpy(p, "test");
cout << "in func: " << p << endl;
}
int main()
{
char* a;
func(a);
cout << a << endl; //执行到这句就出错了
return 0;
}