标题:关于动态申请内存和字符串问问题
只看楼主
育帝
Rank: 2
来 自:黑龙江哈尔滨
等 级:论坛游民
帖 子:75
专家分:43
注 册:2016-10-16
结帖率:87.5%
已结贴  问题点数:20 回复次数:11 
关于动态申请内存和字符串问问题
    typedef struct Users
{
    char number[17];
    char name[14];
    char password[10];
    short mark;
    double cash;
}Use;
-------------------------------------------
    Use *p;
    p = (Use *) malloc(sizeof(Use));
    p->number[17]="1";
   printf("\n%s", p->number);
不能输出,输出使空白。
搜索更多相关主题的帖子: password double number 字符串 Users 
2017-03-10 12:55
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
得分:0 
p->number[17]="1";  数组越界

早知做人那么辛苦!  当初不应该下凡
2017-03-10 13:04
育帝
Rank: 2
来 自:黑龙江哈尔滨
等 级:论坛游民
帖 子:75
专家分:43
注 册:2016-10-16
得分:0 
回复 2楼 炎天
请能详细解释一下吗?我新手比较菜。。。谢谢!!

育帝
2017-03-10 13:06
炎天
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:桃花岛
等 级:贵宾
威 望:29
帖 子:1218
专家分:4986
注 册:2016-9-15
得分:0 
char a[5];  下标从0开始, a[0]表示第一个数据..a[1], a[2], a[3], a[4].
你想给学号赋值1?  那就这样 p->number="1";

早知做人那么辛苦!  当初不应该下凡
2017-03-10 13:23
ehszt
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:40
帖 子:1728
专家分:3216
注 册:2015-12-2
得分:10 
p->number="1"; 这个不对,字符串不能直接赋值。
2017-03-10 14:38
育帝
Rank: 2
来 自:黑龙江哈尔滨
等 级:论坛游民
帖 子:75
专家分:43
注 册:2016-10-16
得分:0 
回复 5楼 ehszt
那么我该如何赋值呢?

[此贴子已经被作者于2017-3-10 17:38编辑过]


育帝
2017-03-10 16:41
育帝
Rank: 2
来 自:黑龙江哈尔滨
等 级:论坛游民
帖 子:75
专家分:43
注 册:2016-10-16
得分:0 
回复 4楼 炎天


[此贴子已经被作者于2017-3-10 18:00编辑过]


育帝
2017-03-10 16:44
南山浅悠然
Rank: 2
等 级:论坛游民
威 望:1
帖 子:53
专家分:92
注 册:2014-5-21
得分:0 
改为char *number;
2017-03-10 17:25
育帝
Rank: 2
来 自:黑龙江哈尔滨
等 级:论坛游民
帖 子:75
专家分:43
注 册:2016-10-16
得分:0 
回复 8楼 南山浅悠然
还是不行啊

育帝
2017-03-10 17:28
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:5 
  p->number[17]="1";//这里越界并有语法错误("1"的值是字符串常量"1"的地址)~
   printf("\n%s", p->number);

题主是想用17个字符串呢~还是想用一个长度为17的字符串输出呢~

这例子说得不是很明白耶~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-03-10 17:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-474927-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.046390 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved