ネット上のコードを見ていたところ、c言語のポインタに関していくつか不明な点がありましたので、質問させていただきたいです。
1点目
char* buf = "123456789"
というコードが実行部分の記述にありました。
これはbufに123456789が(アドレスではなくデータとして)格納されているということでしょうか?
それとも bufが持っているアドレスが123456789で、変数はまだ代入されていないということなのでしょうか?
また、このコードの関数部分で、
引数がuint8_t *bufが指定されて、処理部分のfor文ループでbuf[i]という記述が出てきました。冒頭で書いたようにbufが指定されていた場合buf[i]には何が入っているのでしょうか?
(参照したサイト
https://qiita.com/tobira-code/items/dbcffc41f54201130b6c)
2点目
unsigned char p = (unsigned char)buf
がありました。
型名と*が()でくくられると別の意味を持つのでしょうか?
また、これはポインタに変数を格納したのか、アドレスを格納したのかどちらでしょうか?(実行部分には
char buf [1024];
という記述がありました。)
(参照したサイト
https://blog.goo.ne.jp/masaki_goo_2006/e/69f286d90e6140e6e8c021e43a11c815)
基本的なところから理解できていないところもあると思いますが、どうぞよろしくお願い致します。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/23 22:50