【问】几个c语音问题,初学,有一些不懂的地方,共同学习

1

#define DATA  p->data.num,p->data.name,p->data.zc,p->data.status,p->data.yfgz,p->data.kkgz,p->data.sfgz

这一句是什么意思啊233333
刚学了链表不太懂

#include "stdio.h"   /*标准输入输出函数库*/
#include "stdlib.h"   /*标准函数库*/
#include "string.h"   /*字符串函数库*/
#include <conio.h>    /*屏幕操作函数库*/
#define HEADER1 "      ----------------------------TEACHER---------------------------  \n"
#define HEADER2 "     |  NUMBER  |   NAME   |STATUS|  ZC  |  YFGZ  |  KKGZ  |  SFGZ  | \n"
#define HEADER3 "     |----------|----------|------|------|--------|--------|--------| \n"
#define FORMAT  "     |%-10s|%-10s|%6d|%6d|%8d|%8d|%8d|\n"
#define DATA  p->data.num,p->data.name,p->data.zc,p->data.status,p->data.yfgz,p->data.kkgz,p->data.sfgz
#define END     "  

2

获取数据的信息,比如 p->data.num获得数据的个数

相当于字符串替换
比如代码中有
printf("%d %s, ...", DATA)
那么它就相当于
printf("%d %s, ...", p->data.num,p->data.name,p->data.zc,p->data.status,p->data.yfgz,p->data.kkgz,p->data.sfgz)

这种宏没有什么实际意义,容易造成代码难以理解,如果这个程序不是你写的,不要去模仿

p->data.num,p->data.name
p->data 是一个结构体
num,name都是这个结构体p->data里的成员
data 是结构体指针p的成员,这是结构体嵌套