【发布时间】:2021-04-06 03:02:12
【问题描述】:
我对 C 很陌生。我正在尝试创建一个简单的程序来使用结构来表示一个点。它看起来像这样:
// including standard libraries
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <assert.h>
// including user defined libraries
;
typedef struct point {
char p_name;
double *p_coords;
} point_t;
int main() {
point_t *pt;
pt->p_name = "A";
printf("%c", pt->p_name);
// returning 0 if there are no errors
return 0;
}
问题是,当我在为它分配名称“A”后尝试打印点的名称时,程序除了退出代码(可能)是一个随机数之外什么都不输出:
Process finished with exit code -1073741819 (0xC0000005)
事实上,指针是一个我很难理解的概念(我以前用 python 编程过),因此我可能遗漏了一些东西。我也尝试过使用其他变量类型,例如 int,但结果是相同的(即使退出状态号相同)。有没有办法解决这种行为?
P.S.:对不起,我的初级英语,我还在练习,非常感谢你的时间!
【问题讨论】: