我正在使用assign()函數爲結構指針分配內存,我將其存儲在結構指針變量l
中。
但是當我運行這段代碼有一個錯誤說:在此範圍內未聲明試圖返回一個結構指針
「迴歸」。
代碼
#include<stdio.h>
#include<stdlib.h>
typedef struct list {
int a;
char c;
};
list *assign();
int main() {
list *l;
l = assign();
l->a = 20;
printf("%d",l->a);
return 0;
}
list *assign() {
list *ptr = (list*)malloc(sizeof(list));
reutrn ptr;
}
將'reutrn ptr;'更改爲'return ptr;'。 –
一旦完成,請記住「釋放」內存......更好的是,將內存問題與功能分開。如果您需要構造函數/析構函數,請將它們都寫入。通過分離問題,您將編寫更清晰,更清晰的代碼,從而最大限度地減少隨着項目成長而發生內存泄漏的風險。 – Myst