数据在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 |
本文探讨了在C语言中使用scanf函数时,为何需要在大多数参数前加上&。介绍了数据如何在内存中存储及写入,强调了字符数组与&的关系。同时,文章还讲解了空格在scanf函数中的特殊用法,如何利用空格来忽略输入的空格,并指出不同数据类型在遇到空格时的行为差异。
最低0.47元/天 解锁文章
1724

被折叠的 条评论
为什么被折叠?



