编写一个函数NewDate,为结构类型变量动态分配空间。此函数返回一 个指针,指向结构变量的起始位置。
时间: 2023-05-11 20:03:45 浏览: 164
好的,这是一个比较简单的编程问题。下面是一个可能的实现:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct {
int year;
int month;
int day;
} Date;
Date* NewDate() {
Date* date = (Date*)malloc(sizeof(Date));
return date;
}
int main() {
Date* date = NewDate();
date->year = 2021;
date->month = 9;
date->day = 1;
printf("Today is %d-%d-%d\n", date->year, date->month, date->day);
free(date);
return 0;
}
```
这个程序定义了一个结构体类型`Date`,包含年、月、日三个成员变量。`NewDate`函数使用`malloc`动态分配了一个`Date`类型的空间,并返回指向这个空间的指针。在`main`函数中,我们调用`NewDate`函数创建了一个`Date`类型的变量,并对其成员变量进行了赋值和输出。最后,我们使用`free`函数释放了这个变量所占用的空间,避免了内存泄漏的问题。
阅读全文