ある組み込みのソースを読んでいて、以下の関数:SRAM_readの
引数:①:&val.v16と②:&p->boot[pos]は文法的に何を表しているのでしょうか?
①:構造体変数valのメンバv16のポインタを表しているのか?
②:構造体変数ポインタpのメンバboot[pos]のポインタを示しているのか?
構造体変数、構造体変数ポインタの先頭に&がついており、見たこともなく文法が全くわかりません。
どなたかわかりやすく解説していただけないでしょうか。
もしくは良いサイトなどあれば教えてほしいです。
~
define SRAM_ADDR 0x30000000
typedef pack struct _log_info {
char id[4];
uint16 boot[6];
} log_info;
typedef pack111 union {
uint16 v16;
uint64 v64;
} u_val;
int boot_log_get( uint16 pos, uint16 *dat )
{
log_info *p = (log_info *)SRAM_ADDR;
u_val val;
SRAM_read( &val.v16, &p->boot[pos], sizeof(val.v16) ); if( dat ) *dat = val.v16; return 0;
}
void SRAM_read( void *d, void *s_SRAM, uint32 n )
{
・・・・・
・・・・・
}
}
~
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/09 06:24