|
|
发表于 2023-11-12 16:05:33
|
显示全部楼层
在这个代码中,date *head = NULL; 是一个全局变量,所以它在整个程序中都是可见的。为了在begin函数中使用head而不修改main函数,你可以使用指针传递的方式将head作为参数传递给begin函数,并在begin函数中通过指针来操作head。下面是一个修改后的begin函数和main函数:
- void begin(date **head) {
- char ch;
- printf("开始录入\n");
- while (1) {
- add(head);
- printf("是否继续输入?(Y/N) ->> ");
- do {
- ch = getchar();
- } while (ch != 'N' && ch != 'Y');
- if (ch == 'N')
- break;
- if (count >= MAX) {
- printf("已达到最大空间,无法录入!!\n");
- break;
- }
- }
- }
- int main(void) {
- begin(&head); // 通过指针传递head
- // print(head);//将输入内容显示到屏幕,测试用
- write(); // 写入文本
- realease(head); // 释放临时内存空间
- return 0;
- }
复制代码
通过这种方式,你就可以在begin函数中操作head而不需要改变main函数。 |
|