2018-08-16 :-|
_ 労
夏季休暇が終わりました。引き続き労に勤しみましょう。
_ C言語
c言語のかんすうでさ、必ず16Byte長の配列を渡す必要があるならさ
— しんやさん (@NAGAYASU_Shinya) 2018年8月16日
void f(uint8_t *p)
じゃなくて
typedef struct {
uint8_t a[16];
} hoge_t;
void f(hoge_t *p)
みたいにしておいてくれると嬉しい。
なるほど。
#include <stdio.h>
#include <string.h>
typedef struct hoge_tag
{
uint8_t a[8];
}hoge_t;
void hoge(hoge_t* p)
{
puts(strncpy(p->a, "012345678", sizeof(p->a)));
puts(strncpy(p->a, "0123456789", sizeof(p->a)));
}
int main(int ac, char** av)
{
hoge_t h = {0};
hoge(&h);
return 0;
}
% gcc size1.c % ./a.exe 01234567 01234567
[ツッコミを入れる]



