c - 这里的问题出在哪里,编译时没有报错

查看:73
本文介绍了c - 这里的问题出在哪里,编译时没有报错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

#include <stdio.h>
#include <stdlib.h>

typedef struct bucket {
    int age;
    char name[10];
} Bucket;

int main()
{
    Bucket **buckets;
    buckets = (Bucket **)malloc(sizeof(Bucket)*10);
    buckets[0]->age = 10;
    
    printf("the vlaue of age is : %d\n",buckets[0]->age);
    free(buckets);
    return 0;
}

编译时没有错误,但是运行后会出现
the vlaue of age is : 10
但是然后就没有响应了

解决方案

你光给 **buckets 分配空间了,而*buckets还是NULL,直接就Segmentfault了。

这篇关于c - 这里的问题出在哪里,编译时没有报错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆