免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: 77h2_eleven
打印 上一主题 下一主题

[malloc指针的指针]这个代码有问题么? [复制链接]

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
21 [报告]
发表于 2008-07-16 13:02 |只看该作者

改为一重指针应该就没问题了

t_int **t = (t_int **)malloc(sizeof(t_int) * 10);
改为:
t_int *t = (t_int *)malloc(sizeof(t_int) * 10);

这应该和你想要的效果相符。修改后如下:
int main(void)
{
        int i = 10;
        t_int *t = (t_int *)malloc(sizeof(t_int) * 10);
        while (--i)
        {
                t.x = i;
        }        
}
另外while(i--)存在隐患,应该使用while(--i)

论坛徽章:
0
22 [报告]
发表于 2008-07-16 14:54 |只看该作者
不如这样明白
typedef struct
{
        int x;
} t_int;

int main(void)
{
        int i = 10;
        t_int * t[10];
        while (i--)
        {
               t=malloc(sizeof(t_int)*1);
               if(t==NULL)
                 {
                    printf("xxxxxxxxxxxxxx---->\n");
                    return 0;
                 }
                t->x = i;
        }        
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP