c - 这里的问题出在哪里,编译时没有报错
本文介绍了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屋!
查看全文