【ISO/ANSI/JIS】 C言語なら俺に聞け! Part 131at TECH
【ISO/ANSI/JIS】 C言語なら俺に聞け! Part 131 - 暇つぶし2ch981:デフォルトの名無しさん
07/09/19 20:22:18
(char *)*char_list->c
という式が表す値は
(char *)型のポインタcが指しているデータ
(char *)型のデータ
のどっちなんでしょうか?

982:デフォルトの名無しさん
07/09/19 20:37:54
演算子の優先順位から、(char *)(*(char_list->c))

983:デフォルトの名無しさん
07/09/19 20:47:49
>>982
その式を見るとカッコ(キャスト)よりも*演算子のほうが優先されている
みたいなんですが、(1+2)*(3*3)のようなカッコとキャストとしてのカッコは
別物として扱われているんでしょうか?

984:デフォルトの名無しさん
07/09/19 20:52:45
そりゃ意味からして別物だろうが

985:デフォルトの名無しさん
07/09/19 20:56:27
ついでに言うと、関数呼出演算子の括弧も別物。

986:デフォルトの名無しさん
07/09/19 21:04:19
>>985
全部一緒くたにして考えてました。orz
最後にもう一つ、

char c = 'a';
char *pc = &c
printf("%d\n", (int)*pc);

予想では上のコードは4バイト分の整数を出力すると思ったのに、
実際にやってみたらa一つ分の97しか出力しませんでした。
これは何故なんでしょうか?

987:デフォルトの名無しさん
07/09/19 21:06:35
何を言ってるんだ、お前は

988:デフォルトの名無しさん
07/09/19 21:07:45
*(int*)pc とでもやりたかったのか?

989:デフォルトの名無しさん
07/09/19 21:09:33
>>986
何が言いたいか分からん。
97は2桁だろ。何が出て欲しいんだか。

990:デフォルトの名無しさん
07/09/19 21:11:57
>>986
charだろうがintだろうが10進数で出力したら97だろ

991:デフォルトの名無しさん
07/09/19 21:13:08
>>986
>4バイト分の整数
この部分を具体例をあげつつ詳細に説明してくれ

992:デフォルトの名無しさん
07/09/19 21:15:21
char c = 'a';
char *pc = &c;
printf("%d\n", sizeof((int)*pc));

4バイト(intの大きさ)分の整数が出力されているってのはあってるぞ

993:デフォルトの名無しさん
07/09/19 21:16:26
>>986
これでどうだ。
printf("%.8X\n", (unsigned int)(unsigned char)*pc);
ここにunsigned intへのキャスト演算子は不要だがサービスしておいた。

994:デフォルトの名無しさん
07/09/19 22:21:24
>>973
PADって構造化フローチャートみたいなやつ?


995:デフォルトの名無しさん
07/09/19 22:24:57
>>994
大学でやった記憶が

996:デフォルトの名無しさん
07/09/20 02:05:03
99というのはISOの年度だからANSI C99というのはおかしくないか

997:デフォルトの名無しさん
07/09/20 02:12:12
おかしいね。
ANSI C89
ISO C90
ISO C95(と言っていいのか)
ISO C99

998:デフォルトの名無しさん
07/09/20 08:33:04
個人的にはC89とかC99の前にANSIとかISOとか付いてる時点でキモい。
まぁキモいだけで、だからどうしようってほどじゃないけど。

999:デフォルトの名無しさん
07/09/20 09:18:44
埋め

1000:デフォルトの名無しさん
07/09/20 09:20:04


1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch