我有一个 8 字节的密钥,其中有一个额外的字节用于 KEY 中的空终止字符。
struct KEY { char k[9]; };
我在 KEYS 中有 4 个这样的键。
struct KEYS { struct KEY uk[4]; };
我声明了这些和指向 akeys 的指针:
struct KEY akey;
struct KEYS akeys;
struct KEYS * pkeys = &akeys;
我想使用指针 pkeys 将 akeys 中的所有键归零。我尝试了以下方法:
struct KEY zerokey;
strcpy(zerokey.k, "00000000");
for (i = 0; i < 4; i++) {
pkeys->uk[i] = zerokey;
printf("key=%s", pkeys->uk[i]); //error: crashes program
}
我计划为 KEYS 分配一块内存,但我无法让这个简单的示例工作。
为什么会失败?有一个更好的方法吗?我的结构是最好的方法吗?我想添加一个键,搜索一个键并使用指向 KEYS 结构的单个指针将一个键归零。