C言語なら俺に聞け(入門編)Part 96
■ このスレッドは過去ログ倉庫に格納されています
>・(void *)でキャストしてる意味はなんでしょうか?
>→printf("c = %p, *c = %p, **c = %c¥n", c, *c, **c); としない理由は何でしょうか?
うちのコンパイラ gcc4.3.4/cygwin on Windows では (void *) キャストしろと警告をだしてくるからつけただけです。それだけですから、深い意味はありません。
>下記の認識でよろしいでしょうか
c はc変数の値そのもの
*c はc変数が指すメモリの内容。メモリサイズは、この環境では sizeof((char *)) = 4バイト32ビット
c変数は配列bの各要素を順々に指していく。配列b は char 配列 a の各要素を指している。
*c は配列bの内容。
**c は配列b の各要素が指すメモリ内容を、メモリサイズ sizeof(char) で「取ってきた」その値。
認識はだいたいあっていると思いますので、あとはいろいろ試してみてください。
■ このスレッドは過去ログ倉庫に格納されています