由于未分配内存的指针导致段错误
【摘要】 代码如下
#include<iostream>using namespace std; void f(char **s) { *s = "chenyu";} typedef struct _node { int val; struct _node *next;} Node; typedef struct _link { Node *front; Node ...
代码如下
-
#include<iostream>
-
using namespace std;
-
-
void f(char **s) {
-
*s = "chenyu";
-
}
-
-
typedef struct _node {
-
int val;
-
struct _node *next;
-
} Node;
-
-
-
typedef struct _link {
-
Node *front;
-
Node *rear;
-
} Link;
-
-
void queue(Link *link) {
-
// link.front = link.rear = NULL; //这个地方不是.而是-> 请注意
-
link->front = link->rear = NULL;
-
}
-
-
int main() {
-
cout<<1<<endl;
-
char *s;
-
char **a;
-
a = (char **)malloc(sizeof(char **));
-
*a = "chenyu";
-
f(&s);
-
cout<<s<<endl;
-
cout<<*s<<endl;
-
cout<<*a<<endl;
-
char *b = {"hello"};
-
printf("%p\n",b);
-
printf("%s\n",b);
-
cout<<*b<<endl;
-
Link *link;
-
// link = (Link *)malloc(sizeof(Link *));
-
queue(link);
-
return 0;
-
}
然后运行就出问题了
然后加上
link = (Link *)malloc(sizeof(Link *));
文章来源: chenyu.blog.csdn.net,作者:chen.yu,版权归原作者所有,如需转载,请联系作者。
原文链接:chenyu.blog.csdn.net/article/details/52588780
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)