【发布时间】:2020-11-22 00:54:38
【问题描述】:
qsort的第一个参数需要一个指向数组的指针... 在这种情况下如何传递指针?
typedef struct apData {
char ssid[32];
sint8 rssi;
AUTH_MODE authmode;
char bssid[18];
int32_t channel;
uint8 is_hidden;
} AP;
//BSSs SCANNED
typedef struct {
bool scanInProgress = NOT_SCANNING;
AP **apData;
int numAPs;
} Scan;
static Scan scanAPs;
...
问题出在传递第一个参数... 我不明白为什么我在 compareRSSI() 函数中遇到垃圾
qsort(scanAPs.apData, scanAPs.numAPs, sizeof(struct apData), compareRSSI);
...
int compareRSSI(const void *bss1, const void *bss2) {
int firstAP = ((struct apData *)bss1)->rssi;
int secondAP = ((struct apData *)bss2)->rssi;
return (secondAP - firstAP);
}```
【问题讨论】:
标签: arrays sorting pointers struct qsort