c语言 用结构指针输入,c语言结构体以及结构体指针的使用

结构体:

正常定义一个结构体:

typedef structnode{char ch[10];intlen;

}Seq,*llink;

定义结构体指针:

Seq *s;

或者

llink t;

之后关于s与t的用法,其实完全一样,只是在定义时不同,Seq *就相当于llink了

以为定义完指针以后就可以使用了吗?

NO!

需要为指针申请空间才能正常使用,否则会在输入这里出现很多莫名其妙的错误!亲测如此

需要添加库:

#includes= (struct node *)malloc(sizeof(structnode));

t= (struct node *)malloc(sizeof(struct node));

输入数据:

scanf("%d",&s->len);

这时候输入数据就可以正常使用了

输入整型数据需要加&

输入字符数据:scanf("%s",s->ch);

不需要添加&

输出数据:

printf("%d",s->len);

或者

printf("%d",(*s).len);

输出字符串数据:

printf("%s",s->ch);

或者

printf("%s",(*s).ch);

释放空间:

free(s);

额外的补充一下指针:

!!!!!!!!!!!!!!!!!注意!!!!!!!!!!!!!!!!!!!!!

·在使用任何定义的指针时一定需要申请内存才能正常使用

·使用指针不能直接使用++或者--

eg:int *n;

*n = 4;

*n--; //此处为错误用法

*n -= 1; //此处为正确用法

如果使用*n--,减去的是地址的大小,系统操作:*(n--)

很明显是应该值变化,而不是地址变化

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值