关于指针没申请空间就使用解决方法
关于指针没申请空间就使用
大家,这个程序应该是错误的,但是在TC上却可以运行。大家能运行吗?最好能解释一下它为什么是错的。
#include "stdio.h "
int main()
{
char *b;
b= '7 ';
printf( "%c\n ",*b);
return 0;
}
------解决方案--------------------
char *b;
*b= '7 '
这两行代码的错误是:b没有确定的地址值,所以它将指向一个不确定的随机空间(可能不再可用的内存范围之内),*b= '7 '将导致的结果是像一个不确定的空间赋值 '7 ',很可能导致程序错乱,严重时会造成死机!
大家,这个程序应该是错误的,但是在TC上却可以运行。大家能运行吗?最好能解释一下它为什么是错的。
#include "stdio.h "
int main()
{
char *b;
b= '7 ';
printf( "%c\n ",*b);
return 0;
}
------解决方案--------------------
char *b;
*b= '7 '
这两行代码的错误是:b没有确定的地址值,所以它将指向一个不确定的随机空间(可能不再可用的内存范围之内),*b= '7 '将导致的结果是像一个不确定的空间赋值 '7 ',很可能导致程序错乱,严重时会造成死机!