网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
03月04日漏签0天
c语言吧 关注:801,815贴子:4,376,607
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 23回复贴,共1页
<<返回c语言吧
>0< 加载中...

自学的苦逼求帮助,看下理解的对不对

  • 只看楼主
  • 收藏

  • 回复
  • yhb362
  • 低能力者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
void main()
{
char **p = (char**)malloc(3*sizeof(char*));
for (int i = 0; i < 3; i++)
{
p[i] = (char*)malloc(100);
}
for(int i = 0; i < 3; i++)
{
char *buf=p[i]; //p[i]这个指针
printf("\n请输入名字:");
scanf("%s", buf);
}
char dt[55]="dsaf";
p[2] = dt;
for (int i = 0; i < 3; i++)
{
printf("%s\n",p[i]);
}
system("pause");
}


  • 在暗处关注
  • 异能力者
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你是想弄一个指针数组,里面每个指针指向一个字符串,并且是动态分配空间对吗?但你这么写代码有问题吧,问题还不小


2026-03-04 02:34:14
广告
不感兴趣
开通SVIP免广告
  • 哆啦哆啦哆啦啊
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
。。。


  • Dream970216
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
乱写的吧


  • 木叶守护神123
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
看上去不错哟


  • 牧羊人SVIP
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
分配内存没有释放后果很严重的哦哦哦哦哦哦喔喔


  • yhb362
  • 低能力者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
void main()
{
char **p = (char **)malloc(3 * sizeof(char *)); //int p[3];
for (int i = 0; i < 3; i++)
{
p[i] = (char*)malloc(50);
}
for (int i = 0; i < 3; i++)
{
//char buf[50];
char *buf = p[i];
printf("输入字符");
scanf("%s",buf);
//p[i] = buf;
}
p[1] = "改下数据";
for (int i = 0; i < 3; i++)
{
printf("p[%d]有=%d个字节\n", i, sizeof(p[i]));
printf("p[%d]有=%s\n", i, p[i]);
}
system("pause");
}
明显p[i]是指针,,分配50字节也还是4字节,


  • yhb362
  • 低能力者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
是不是这样理解
char *buf -> p[i] 首地址,然后scanf接收的字符一直往后增加
而pi[i]分配100或更多字节,只是为了好释放内存
当数据超过所分配内存则无法释放,,


2026-03-04 02:28:14
广告
不感兴趣
开通SVIP免广告
  • yhb362
  • 低能力者
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个是讲课老师写的代码。叫学生画内存显意图
char **p3 = (char **)malloc(3 * sizeof(char *)); //int array[3];
for (i=0; i<3; i++)
{
p3[i] = (char *)malloc(10*sizeof(char)); //char buf[10]
if (p3[i] == NULL)
{
}
sprintf(p3[i], "%d%d%d", i, i, i);
}


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 23回复贴,共1页
<<返回c语言吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示