嗨,我正在尝试用结构中的指针创建一个程序.编译器似乎没有问题,但程序崩溃.请问你能帮帮我吗 ?
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
int pos;
typedef struct _Parking Parking;
struct _Parking
{
int pos;
char name[15];
char description[80];
float price;
int slots[5];
char last_driver_id;
int reservations;
};
Parking *myaccounts;
int create_Parking()
{
strcpy(myaccounts->name,"Pro");
myaccounts->pos ++;
return pos-1;
}
int main()
{
int a;
a = create_Parking();
printf("a=%d\n",a);
printf("name=%s\n",myaccounts->name);
system("pause");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
您的myaccounts指针初始化为NULL(作为全局变量),因此不指向可用内存.有关更多信息,请参阅malloc的手册页.
编辑:纳入Maciej的评论.