C言語なら俺に聞け 143

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ b375-rVGZ)
垢版 |
2017/10/27(金) 21:28:08.20ID:pAogLeJi0
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/

C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf

C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html

C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/

JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/

前スレ
C言語なら俺に聞け 142
http://mevius.2ch.net/test/read.cgi/tech/1502364083/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2017/10/27(金) 21:56:32.94ID:/LUCvRWS0
おっつ おっつ
3デフォルトの名無しさん (ブーイモ MMeb-gj0X)
垢版 |
2017/10/27(金) 23:12:15.85ID:67YjQzLBM
>>1
2017/10/28(土) 08:25:42.00ID:VIxhg0oq0
「新スレッドは○番に書き込んだ人が立てる」みたいなガイドラインを
テンプレートに盛り込んだ方が安心じゃないかな。

前スレッドの終了まで新スレッド(ここ)が立たなかったし、
999番で「誰か立ててくれ」と書き込まれたのに応じて
「立てたよ、リンク先は…」と誘導に使われるべき1000番が
無意味な「あぼーん」で潰されたし。
5デフォルトの名無しさん (ワッチョイ d18a-bYcA)
垢版 |
2017/10/28(土) 09:22:16.51ID:6bG+Py6x0
あぁあああもうポインタ全然分かんねえよおおお
6デフォルトの名無しさん (ワッチョイ 6b15-OCcV)
垢版 |
2017/10/28(土) 10:32:21.81ID:QoaQu2To0
前スレへのリンクがあって、スレタイにも番号がついてるわけで
1000いったら次スレなんて言われんでもわかるし望む者がいるから立っている
それだけのことで、別に何かする必要はないと思うな
7デフォルトの名無しさん (ワッチョイ 719f-WLyz)
垢版 |
2017/10/28(土) 13:13:54.08ID:cK0+9veY0
>>5
文字通り何かを指し示すものだよ。
8デフォルトの名無しさん (ワッチョイ 21d2-Eec1)
垢版 |
2017/10/28(土) 13:25:50.21ID:NBGUhvqo0
data8<7-0> にdata32<31-00>の中のdata32<07-00>を抜き出して代入したい

data8 = data32 % 256 ;

と書いてもコンパイラが素直に推論してくれません
キャリー処理のコードっぽいものをつけてきやがります
どうしたらいいでしょうか?
2017/10/28(土) 13:30:10.44ID:z7fGPvzs0
あまりにも挫折者が多すぎる
教え方が悪いとか例題が少ないとかじゃねえのかと

変数とか言うふわふわしたモンがいきなり具体的なものになるから分かりにくいんじゃないのかね
メモリとかアドレスとかいきなし言われても分んねーよ、とかなるし
しまいにはアドレスの値だって気にかけなくなる

いきなり「変数は値と場所、二つの数字をもちます」とか言われると混乱するんだよ
10デフォルトの名無しさん (ワッチョイ 719f-WLyz)
垢版 |
2017/10/28(土) 13:51:05.54ID:cK0+9veY0
>>8
君の言いたいことがよくわからない。とりあえず全部日本語に翻訳してくれ。
2017/10/28(土) 14:04:12.56ID:4nXMq3qA0
先にメモリとアドレスから入ればいいのさ
2017/10/28(土) 14:07:01.68ID:tCIUZaJu0
ビットが取れればいいだけなら、data8 や data32 の型を符号無しにするだけで
いけそうな気もするが、よく分からん
13デフォルトの名無しさん (ワッチョイ 21d2-Eec1)
垢版 |
2017/10/28(土) 14:11:40.74ID:NBGUhvqo0
両変数ともunsigned宣言はしています
2017/10/28(土) 14:16:17.83ID:MGjkWSIK0
>>13
こーゆー事?
data8 = data32 & 0x000000ff;
適宜 cast してね
2017/10/28(土) 14:18:02.62ID:fKJ32+jb0
printf で
data8 の実際の型にあった表示フォーマット使ってなかったとかのオチ?
(data8 の最上位ビットが足ってるとかサ-
16デフォルトの名無しさん (ワッチョイ 1be7-DNJs)
垢版 |
2017/10/28(土) 16:17:52.03ID:DjUYz3cS0
int *a = 0;
*a = 1;
これは入るけど1は入るん?0の番地って存在するん?
2017/10/28(土) 16:21:22.21ID:U1K93bKt0
>>16
ワープに成功しましたってメッセージが出る
2017/10/28(土) 16:29:25.72ID:MyIroYJQ0
>>16
0番地の住人に怒られる
2017/10/28(土) 16:50:59.06ID:IMJtHdwY0
ぬるぽ
2017/10/28(土) 17:33:04.44ID:VIxhg0oq0
>>8
「リテラルの数値256での剰余だから結果の範囲は0-255、
unsigned char の範囲からはみ出す可能性はない」
ということまでコンパイラが見抜いてくれないってことだよね。

data8 = (unsigined char) data32;

てな具合に明示的なキャストで上手くいかんかな。
あるいはコンパイラの最適化オプションを強めにするか。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況