为什么不能用函数读入结构指针

AnAzureAssassin 2019-02-07 02:40:57
#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
#include<ctype.h>
#include<time.h>
struct list{
int N;
};
typedef struct list *List;
void Read_Sequence(List sequence){
scanf("%d",&sequence->N);//这里是错误的
return;
}
int main(void) {
List sequence;
Read_Sequence(sequence);
return 0;
}
//为什么标注的地方是错误的
...全文
48 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
WNs_ACE 2019-02-07
  • 打赏
  • 举报
回复
重新补一下代码,忘记写释放指针了

#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
#include<ctype.h>
#include<time.h>
struct list
{
int N;
};

typedef struct list *List;

void Read_Sequence(List sequence)
{
scanf("%d",&(sequence->N));//这里是错误的
return;
}
int main(void)
{
List sequence = new list();
Read_Sequence(sequence);

printf("N:%d\n", sequence->N);

delete sequence;
return 0;
}
WNs_ACE 2019-02-07
  • 打赏
  • 举报
回复
sequence对象都没有初始化,需要初始化指针的啊.....
List sequence = new list;
下面是我测试代码:

#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
#include<ctype.h>
#include<time.h>
struct list
{
int N;
};

typedef struct list *List;

void Read_Sequence(List sequence)
{
scanf("%d",&(sequence->N));
return;
}
int main(void)
{
List sequence = new list();
Read_Sequence(sequence);

printf("N:%d\n", sequence->N);


return 0;
}

64,439

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧