【发布时间】:2016-04-01 05:12:43
【问题描述】:
这是我声明的数据类型:
struct Element{
char name[21], symbol[4];
double atomicMass;
int valence;
};
typedef struct Element myElements;
myElements data[20];
如果我只想传递成员的名字
data[20]
到qsort(),怎么做?
不确定这是否是传递给函数的正确方法:
qsort(data->name, 20, sizeof(myElements), compare);
【问题讨论】:
-
您想按名称的字母顺序对
data进行排序吗? -
是的,按字母顺序排列。
-
“怎么做?” ——你不这样做,也不想这样做。您要做的是根据名称对数据进行排序。如果您真的只想将名称传递给 qsort,则必须将它们复制到仅包含名称的数组中。
-
typedef struct Element myElements;-- 如果您正在参加 C 混淆竞赛,这是一件好事。否则应该是typedef struct Element Element;
标签: c data-structures std qsort