为什么这是错误的?
char *p;
*p='a';
书上只说-使用未初始化的指针。 请问谁能解释一下这是怎么回事吗?
最佳答案
是的,它可能会导致运行时错误,因为它是 undefined behavior 。指针变量已定义(但未正确初始化为有效的内存位置),但需要分配内存来设置值。
char *p;
p = malloc(sizeof(char));
*p = 'a';
当malloc
成功时它将起作用。请尝试一下。
关于c - C中指针初始化概念,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53800196/