これはC言語の質問です。C言語の*の意味
*は、以下の関数で*が乗算されるなどの意味ですか?私が尋ねる理由は、関数定義のコメントが3つのパラメータを期待しているからです。 #defines
の中の()
[括弧]も、かっことは違う意味ですか?下記参照。
関数コール:
nvm_eeprom_write_byte(TEST_ERASE_PAGE * EEPROM_PAGE_SIZE, 42);
定義:関数定義のための
#define TEST_ERASE_PAGE 2
#define EEPROM_PAGE_SIZE 32
コメント:0とEEPROM_SIZE間
- のparam page_addr EEPROMページアドレス、/ EEPROM_PAGE_SIZE。
- param byte_addr EEPROMバイトアドレス、0〜EEPROM_PAGE_SIZE。
- param 値 EEPROMに書き込むバイト値。
関数の定義:
void nvm_eeprom_write_byte(eeprom_addr_t address, uint8_t value) {}
eeprom_addr_t
がtypedefである:
typedef uint16_t eeprom_addr_t
#define EEPROM_START (0x0000)
#define EEPROM_SIZE (2048)
#define EEPROM_PAGE_SIZE (32)
#define EEPROM_END (EEPROM_START + EEPROM_SIZE - 1)
の違いを考えてみましょうか?私は他の人の仕事を理解しようとしています。私自身のコードを書くのではありません。 – milan
@milan:2つのパラメータ、 'address'と' value'のように見えます。それぞれはカスタム型定義を使用して型指定されます。 –
私は関数の上のコメントが間違っていると思いますか? – milan