C语言结构体里的数组出错
#include<stdio.h>
typedef struct Node{
    int A[100];
    int Length;
}StaticTable;
int BinerySearch(StaticTable *Tb1,int K){
    /**/
    }
    return NotFound;
} 
int SequentialSearch(StaticTable *Tb1,int K){
/**/
} 
int main(){
    StaticTable *Tb1;
    for(int i=1;i<=10;i++){
        Tb1->A[i]=5;//执行到这里就会出错,可是我看不出哪里错了,求大佬指点
    }
    Tb1->Length=10;
    printf("%d\t",SequentialSearch(Tb1,36));
    printf("%d",BinerySearch(Tb1,36));
    return 0;
} 

1个回答

你光定义了指针,没有分配空间

StaticTable *Tb1 = (StaticTable *)malloc(sizeof(StaticTable));

问题解决的话,请点采纳

caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复吴大柳: 你定义一个变量,再 & 也可以
5 个月之前 回复
WDL6022
zgxwdl 我想请教一下是指向结构体的指针必须分配空间吗?因为普通指针例如int *p=&c;就可以直接用p指针了
5 个月之前 回复
WDL6022
zgxwdl 问题解决了,感谢
5 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问