我是C编程新手.... 这是我的示例代码....
我想编写一个应该返回结构指针的函数...当我编译下面的代码时...我得到了分段错误..... 我知道,我正在做一些小错误......对这个问题的任何建议对我都有帮助......
#include<stdio.h>
struct point *test(int x, int y);
struct point {
int x;
int y;
};
int main() {
struct point* val2;
int xx, yy;
xx = 1;
yy = 2;
val2 = test(xx, yy);
}
struct point *test (int xx, int yy) {
struct point *a;
a->x = xx;
a->y = yy;
return (a);
}
使用Makefile
CC = gcc
Phony = .clean
main: main.o
$(CC) $< -o $@
main.o: main.c
$(CC) -c $<
clean:
rm *.o
收到的输出:
Segmentation fault(Core dumped)
答案 0 :(得分:1)
谢谢大家的建议。
此代码取代了问题....
struct point *test (int xx, int yy) {
struct point *a = malloc(sizeof *a);
a->x = xx;
a->y = yy;
return (a);
}