关于指针(什么时候需要申请空间什么时候不需要申请空间)
关于指针(什么时候需要申请空间什么时候不需要申请空间)
我只知道程序运行时中出现指针不合法的时候我才会申请空间,如果不运行的话我很少考虑空间这个问题
简单的举个例子:
=========================
int *GetArray( int n )
{
int *p = new int[n];
for ( int i = 0; i < n; i++ )
{
p[i] = i;
}
return p;
}
=========================
void GetArray( int *p, int n )//为什么不需要申请空间
{
for ( int i = 0; i < n; i++ )
{
p[i] = i;
}
}
=========================
这个方面例子很多,有什么规律么?忘各位赐教!!!!
[解决办法]
char *s= "skfdjklsdjkg ";
这一句导致编译器给你分配了一个常量字符串区域,这样的话,在函数中就不能改变这个区域中的内容,最后导致异常。
把这一句改为下面就可以了:
char s[] = "skfdjklsdjkg ";