在做数据结构时遇到的问题
代码:
#include <stdio.h>
typedef struct {
int *p;
}Arr;
int main(){
Arr *B;
int *q;
int b;
B->p = &b;
scanf("%d",&(*(B->p)));
printf("%d",*(B->p));
}
结果:
C:\Users\86159\CLionProjects\untitled4\cmake-build-debug\untitled4.exe
Process finished with exit code -1073741819 (0xC0000005)
对结构体指针中的指针指向的变量进行赋值和输出
你的B没有指向任何具体的Arr结构体,应该先有一个Arr的结构体实例,然后让B指向它
#include <stdio.h>
typedef struct {
int* p;
}Arr;
int main() {
Arr BB;
Arr* B=&BB;
int* q;
int b;
B->p = &b;
scanf("%d", &(*(B->p)));
printf("%d", *(B->p));
}