这个知识点考查的是: char p[] = "aaa"; 和 char *p = "aaa";的区别。 前者等效于char p[] = {'a','a','a','\0'};,即创建了一个数组,由于p数组是局部变量,保存在栈空间,所以跳出函数后内存被释放因此出错。后者是先在静态存储区开辟内存存放"aaa",然后指针指向该内存地址,所以跳出函数后"aaa"依然保持在静态存储区中,用函数外的指针依然能访问内容"aaa"。 可以正确执行的代码如下: 参考: https://blog.csdn.net/fly__chen/article/details/52777054
点赞 2

相关推荐

MScoding:你这个实习有一个是当辅导老师,这个和找技术岗没有关系吧?
点赞 评论 收藏
分享
牛客网
牛客企业服务