struct aes_key_st {
#ifdef AES_LONG
  unsigned long rd_key[4 *(AES_MAXNR + 1)];
#else
  unsigned int rd_key[4 *(AES_MAXNR + 1)];
#endif
  int rounds;
};
typedef struct aes_key_st AES_KEY;

上述代码作为结构存储在samp.h中,并分配给AES_密钥。
在另一个名为samp.c的文件中,我需要访问下面声明的上述内容
int main(void)
{
 AES_KEY enc;

}

以上是样品部分
我的问题是
如何给enc变量赋值。
如何将该值作为指针变量分配给enc。

最佳答案

你的问题不太清楚。但是,根据您的代码:

int main(void)
{
  AES_KEY  enc;
  AES_KEY *enc_ptr = &enc;  // make a pointer to enc

  enc.rounds       = 0; // Assign to the 'rounds' field of record AES_KEY
  enc_ptr->rounds  = 3; // Overwrite the 'rounds' field via a pointer


  enc.rd_key[0]      = 1 ; // Assign a value to the first element of the 'rd_key' array
  enc_ptr->rd_key[0] = 2 ; // Overwrite the same element via a pointer

}

是你问的吗?

09-29 21:16