关于scanf()为什么要取&

本文探讨了在C语言中使用scanf函数时,为何需要在大多数参数前加上&。介绍了数据如何在内存中存储及写入,强调了字符数组与&的关系。同时,文章还讲解了空格在scanf函数中的特殊用法,如何利用空格来忽略输入的空格,并指出不同数据类型在遇到空格时的行为差异。
摘要由CSDN通过智能技术生成

数据在scanf中是怎样存储并写入内存的?

&是地址符(指针),在scanf函数中,读取的数据为用户输入的字符组成的数组。

除了参数本身为字符组成的数组的情况下不需要在参数前加说明&,其余情况均需要使用&为输入类容分配字符串数组空间。

例如:
char a[10];

scanf("%s",a);

这样我们就先创建了一个字符类型的数组,并分配了十字节的长度。

当我们输入A CDEFGHIJK后

在计算机储存中字符组成的数组表现如下:

"'A''  ''C''D''E''F''G''H''I''NUL'"

65 32 67 68 69 70 71 72 7
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值