C言語なら俺に聞け 139 [無断転載禁止]©5ch.io
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 0b7b-+OgX)
2017/02/22(水) 18:55:55.41ID:xeEkzIw00質問には最低限の情報(ソース/コンパイラ/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/
前
http://echo.2ch.net/test/read.cgi/tech/1481372036/
http://www.geocities.jp/c_cpp_cs/about_c/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
0002デフォルトの名無しさん (ワッチョイ 7ba1-sbgu)
2017/02/22(水) 20:12:40.70ID:BVjvbr4Q00003デフォルトの名無しさん (ワッチョイ 8a3c-/RgJ)
2017/02/23(木) 10:08:32.31ID:Reif/Spj0実際にそう書かれてるページが多いし。腑に落ちないけどそう理解してる。
更新するビット数が少ないから高速なのか?
0004デフォルトの名無しさん (ワッチョイ a37b-mxZJ)
2017/02/23(木) 10:26:10.02ID:sZtROie80int_fast32_t 32の部分は自分の必要な精度に入れ換えて
0005デフォルトの名無しさん (JP 0H0b-Ccab)
2017/02/23(木) 11:53:45.45ID:WEvoRPmmH配列とかで多量に使えばキャッシュが溢れて遅くなるというケースもある
真の最速整数型が欲しいなら、対象のCPUでいろいろな組合せを試すしかない
0006デフォルトの名無しさん (ワッチョイ a319-WLWd)
2017/02/24(金) 00:43:20.13ID:cpdcPEPh0わたくし、関数を定義いたしますマクロと、関数をお呼になられるマクロを定義いたしましたの。
関数をお呼びになられるマクロを使いましてご展開されるおり、関数を定義いたしますマクロが自動的に
ご展開なさるようにいたしたいことよ。
もしお存じ上げられるお方がいらっしゃいましたら、ぜひご意見をお伺いたくってよ。
では、ごきげんよう。
0007デフォルトの名無しさん (ワッチョイ 0a17-d4M5)
2017/02/24(金) 01:10:28.42ID:tA8wO5PS00008デフォルトの名無しさん (ワッチョイ 8a41-zLYe)
2017/02/24(金) 02:53:11.32ID:y7fe+xLc00009デフォルトの名無しさん (ワッチョイ 065b-LqKA)
2017/02/24(金) 05:47:55.28ID:NKFDYFgs00010デフォルトの名無しさん (ワッチョイ bf7b-FQj1)
2017/02/24(金) 06:59:24.53ID:Rno5Qv0S00011デフォルトの名無しさん (フリッテル MM96-C5po)
2017/02/24(金) 15:53:27.60ID:86ctwbLEM構造化プログラミング
データ構造とアルゴリズム
プロセッサとメモリの基本動作原理
ポインタ
構造体
配列
0012デフォルトの名無しさん (ワッチョイ 8ec9-8lb6)
2017/02/24(金) 16:56:06.69ID:jIC6X1VU0getoptの使い方
標準入力の読み方
printf
まずこの3つをマスターしよう
0013デフォルトの名無しさん (ワッチョイ a3e3-bUuO)
2017/02/25(土) 18:25:33.13ID:euV/G24E0lsのソースコードを読める
がんばれ
0014デフォルトの名無しさん (ラクッペ MM33-RcHU)
2017/02/26(日) 19:23:04.12ID:V8RtWR1+Mという事で新しいパーサを一緒に考えてくれる人いません?
0015デフォルトの名無しさん (ワッチョイ 233b-8xjF)
2017/02/26(日) 20:12:59.60ID:Ui2+UTYM00016デフォルトの名無しさん (JP 0H0b-Ccab)
2017/02/26(日) 20:31:54.73ID:zlk72IFVH0017デフォルトの名無しさん (ワッチョイ 1f7b-yozQ)
2017/02/26(日) 21:42:00.44ID:jyTublGL0yaccと比べて何がどう改善されたパーサを作るのか
0018デフォルトの名無しさん (ワッチョイ 6afa-frRf)
2017/02/27(月) 07:18:08.91ID:0mBN5Hn200019デフォルトの名無しさん (ワッチョイ bb7b-J5+o)
2017/02/27(月) 08:40:15.55ID:wcG6k+HH00020デフォルトの名無しさん (JP 0Hc7-7RjZ)
2017/02/27(月) 08:49:45.47ID:cQVaqrK/H他言語経験者かな?
・前方宣言とヘッダとよく使うプリプロセッサ文を把握
・メモリ配置(スタック・ヒープ・静的記憶)の違い・使い分けを把握
・文字列の概念と操作を把握
・その他Cでどういうケースでポインタが使われるかを把握
・変数が初期化されないワナを頭に叩き込む
あとはまぁ言語よりライブラリの選択と
OSやCPUの周辺知識の方が重要な事が多い
0021デフォルトの名無しさん (ワッチョイ 1f7b-yozQ)
2017/02/28(火) 19:42:47.39ID:4nfK1Rf+0x面体のサイコロy個を振って得られる出目のヒストグラムを出力するプログラムを作ろう
dice.exe 6 3 (6面体のサイコロ3個) の出力例
出目 出現回数 出現率
---- -------- ------
3 1 0.46
4 3 1.39
5 6 2.78
6 10 4.63
7 15 6.94
8 21 9.72
9 25 11.57
10 27 12.50
11 27 12.50
12 25 11.57
13 21 9.72
14 15 6.94
15 10 4.63
16 6 2.78
17 3 1.39
18 1 0.46
0022デフォルトの名無しさん (フリッテル MM96-C5po)
2017/03/01(水) 13:58:21.66ID:Zp9/LnCHM100 100とか
数式2,3発の繰り返しで解けるん?
0023デフォルトの名無しさん (JP 0H4a-8lb6)
2017/03/01(水) 14:12:58.32ID:SH8mWFxKH2016/9/31
こんな感じにしたいだけなんですけど
このscanfの「/」って、これであってるの?
0024デフォルトの名無しさん (ドコグロ MMc2-8xjF)
2017/03/01(水) 14:56:55.78ID:CsmSQFfHM全部数えるつもりかっ!
多項定理だけど、やり方考えれば簡単だよ。
0025デフォルトの名無しさん (ドコグロ MMc2-KtvH)
2017/03/01(水) 18:58:24.59ID:U+4Jaa7CMあってる
0026デフォルトの名無しさん (JP 0H3f-BJNc)
2017/03/02(木) 12:18:48.45ID:d45T9FBrH1 3 2 4って入力して
1 対 3
2 対 4
scanf("%d %d", a, b);
scanf("%d %d", c, d);
戦わせたいけど、どうすればいい?
1234なら出来ます
0027デフォルトの名無しさん (JP 0H3f-BJNc)
2017/03/02(木) 12:20:28.47ID:d45T9FBrH1 3 2 4って入力して
1 対 3
2 対 4
scanf("%d %d", a, b);
scanf("%d %d", c, d);
戦わせたいけど、どうすればいい?
1234なら出来ます
0028デフォルトの名無しさん (JP 0H6f-x83U)
2017/03/02(木) 12:30:29.26ID:ThTFWtPOH0029デフォルトの名無しさん (フリッテル MM7f-8aD0)
2017/03/02(木) 19:58:32.35ID:im503L5qMprintf("%d 対 %d\n", a, b);
printf("%d 対 %d\n", c, d);
0030デフォルトの名無しさん (フリッテル MM7f-8aD0)
2017/03/02(木) 19:59:53.68ID:rOcShz1+Mscanf("%d %d %d %d", &a, &b, &c, &d);
0031デフォルトの名無しさん (JP 0H3f-BJNc)
2017/03/02(木) 20:54:24.64ID:5j/mvvA0H0032デフォルトの名無しさん (ワッチョイ 6b3c-BJNc)
2017/03/02(木) 21:01:29.33ID:1Cz3jM3f00033デフォルトの名無しさん (ワッチョイ ef5b-prdN)
2017/03/02(木) 21:51:36.92ID:i/E5609c0c言語が初めてです
0034デフォルトの名無しさん (ワッチョイ ef5b-prdN)
2017/03/02(木) 21:52:35.03ID:i/E5609c0おお!入門書によく書いてある!
0035デフォルトの名無しさん (ワッチョイ ef5b-prdN)
2017/03/02(木) 21:53:39.85ID:i/E5609c0getopt?ありがとうございます
0036デフォルトの名無しさん (ワッチョイ ef5b-prdN)
2017/03/02(木) 21:55:50.31ID:i/E5609c0cpuの作り方って本読めばいいですか?
0037デフォルトの名無しさん (アウアウカー Sa6f-tCEH)
2017/03/02(木) 22:09:22.01ID:5e6GrT/2a0038デフォルトの名無しさん (ワッチョイ 1f17-NqFr)
2017/03/03(金) 00:40:14.71ID:k4+TCMnG0入門書読んでるならまずその本を理解したほうが早い
その入門書には>>11の事も書いてあるみたいだから
なおのことだぁね
0039デフォルトの名無しさん (ワッチョイ ef5b-prdN)
2017/03/03(金) 05:56:03.66ID:E6sRhrGi0分かりました!ありがとうございます!
0040デフォルトの名無しさん (JP 0H3f-BJNc)
2017/03/03(金) 12:13:23.53ID:+HYzVfFdHオレもわからん
誰かわかる人いないの?
0041デフォルトの名無しさん (フリッテル MM7f-8aD0)
2017/03/03(金) 12:26:01.73ID:qPJvyZtuM>>29-30
0042デフォルトの名無しさん (JP 0H3f-BJNc)
2017/03/03(金) 13:45:06.80ID:+HYzVfFdH0043デフォルトの名無しさん (ワッチョイ 0f4f-2BvX)
2017/03/03(金) 14:21:40.68ID:Er93SBHi00044デフォルトの名無しさん (ドコグロ MM3f-KW4d)
2017/03/03(金) 15:29:51.13ID:IC83RcbMM0045デフォルトの名無しさん (ワッチョイ 3bba-Mt2S)
2017/03/03(金) 22:39:07.27ID:Jp23eHYS0CCSC社のPICコンパイラで以下の問題が出てます、多分知識不足だと思うのですが、Cの挙動に関する知識でどういう所が足りないのでしょうか?
char string[5]; //UARTを受ける変数枠
float32 sig_ch; //UARTから数字へと変換したい
GETS(string); // UART文字列をかくほ
sig_ch = atoi(string); // ここで文字列から数字に変換する(このためにstdlib.hを使う)
if(sig_ch % 16 == 0){
set_4067_00();
}
else if((sig_ch%16)/0.0625 == 1){
set_4067_01();
}
と設定しているにもかかわらず、このif-else分だけ通りません。(他のif-elseは今の所エラーは吐いてない)
if文が16にOnly integers are supported for this operation
else if 文すべては elseにA numeric expression must appear here
となっています
0046デフォルトの名無しさん (ワッチョイ 8b9b-x83U)
2017/03/03(金) 22:50:41.79ID:qE+VJ28k0(/0.0625で1になることがない)
0047デフォルトの名無しさん (ワッチョイ 8b9b-x83U)
2017/03/03(金) 22:54:39.58ID:qE+VJ28k0float型に剰余計算(%)は出来ないからfmodとか関数を使う
0048デフォルトの名無しさん (ワッチョイ 3bba-Mt2S)
2017/03/03(金) 22:57:05.38ID:Jp23eHYS0MATLABのコンソールを使って計算した時には1の位以上に整数が出ましたがxx.0625刻みで増えて行ってくれました。
それを見て、どの型で宣言しているかは分からないけど、余りの少数も取ればいいと思っていました
あれこの場合、余りって…どこからだろう?
0049デフォルトの名無しさん (ワッチョイ 3bba-Mt2S)
2017/03/03(金) 22:59:54.16ID:Jp23eHYS0math.hで使えるみたいですね、多分実装されているはずですので試してみます。
0050デフォルトの名無しさん (ワッチョイ 3bba-Mt2S)
2017/03/03(金) 23:17:40.37ID:Jp23eHYS0*** Error 71 "main.c" Line 852(1,2): Out of ROM, A segment or the program is too large MAIN
Seg 00800-00FFF, 0580 left, need 009D0
Seg 01000-017FF, 0800 left, need 009D0
Seg 01800-01FFF, 0800 left, need 009D0
Seg 00000-00002, 0000 left, need 009D0 Reserved
Seg 00003-007FF, 0001 left, need 009D0
解決しました……orz
0051デフォルトの名無しさん (アウアウオー Sabf-aPLm)
2017/03/04(土) 00:14:41.41ID:U0LEsPrzaどう違うのでしょうか?
0052デフォルトの名無しさん (ワッチョイ 0f7b-liqg)
2017/03/04(土) 00:23:43.29ID:l5kdYc5I0便利な記述が幾つかある。
見たことない書き方があれば、拡張記法
0053デフォルトの名無しさん (アウアウオー Sabf-aPLm)
2017/03/04(土) 00:28:42.38ID:U0LEsPrzaありがとうございます。Linux独自拡張がなされているのですね。
自分で調べてみます。
ちょっとびびってます。
0054デフォルトの名無しさん (ワッチョイ 1f17-NqFr)
2017/03/04(土) 03:03:47.82ID:azJYKT3F00055デフォルトの名無しさん (アウアウカー Sa6f-k9EO)
2017/03/04(土) 05:24:58.37ID:QZk9D4JAaコンパイラの話とは思わないわ
0056デフォルトの名無しさん (ワッチョイ 0f7b-liqg)
2017/03/04(土) 07:11:38.33ID:l5kdYc5I0manの著者が書いた、神の書!
この本の翻訳本が出版されたのは、日本だけじゃないか?
翻訳者の千住治郎が、技術指導もしている
0057デフォルトの名無しさん (ワッチョイ 1f9f-uWtv)
2017/03/04(土) 16:43:54.18ID:VFtHImK30初耳だったので思わずググったがそんなの無かった
0058デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
2017/03/04(土) 17:16:50.40ID:40RMudYn0>構造体初期化時のデフォルト値などを、簡単に記述できるように、C言語を拡張している
これ、なんだよ
designated initializerならC99の標準機能だぞ
0059デフォルトの名無しさん (ワッチョイ 8b7b-ERAc)
2017/03/04(土) 18:25:01.39ID:a1Qd0ocB00060デフォルトの名無しさん (ワッチョイ eb6f-KW4d)
2017/03/04(土) 18:49:55.83ID:Zd7SxADN00061デフォルトの名無しさん (ワッチョイ 8b42-NqFr)
2017/03/04(土) 19:00:06.09ID:BXXAQhND00062デフォルトの名無しさん (ワッチョイ 1f90-x83U)
2017/03/04(土) 19:46:34.97ID:afa8PN5D00063デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
2017/03/04(土) 20:35:51.73ID:40RMudYn0翻訳本が必要な事を恥じろ
0064デフォルトの名無しさん (アウアウカー Sa6f-k9EO)
2017/03/04(土) 21:34:53.05ID:CpamcytIa指示付きの初期化子と同機能で文法の違うgcc拡張は一応ある
古い拡張だし今では使う必要ないないけど、機能自体は残ってる
0065デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
2017/03/04(土) 21:49:55.63ID:40RMudYn0int widths[] = { [0 ... 9] = 1, [10 ... 99] = 2, [100] = 3 };
struct point p = { y: yvalue, x: xvalue };
こいつらの事?
0066デフォルトの名無しさん (ワッチョイ 0f7b-liqg)
2017/03/05(日) 00:28:44.10ID:WMRVohp00条件演算子(三項演算子とも)である ? : の書式は、
operand1 ? operand2 : operand3
ですが、このうち第2オペランドを省略すると、第1オペランドの値が真の場合、式の値は第1オペランドの値になる…というのがありまして
operand1 ? : operand3
006766 (ワッチョイ 0f7b-liqg)
2017/03/05(日) 00:43:46.49ID:WMRVohp00横から見れば、エルビス・プレスリーの顔に見える
変数 ?: デフォルト値
変数 ?: エラー処理
変数がnullなら、後ろを処理する。
変数がnull以外 → 何もしない
0068デフォルトの名無しさん (ワッチョイ 3b51-BJNc)
2017/03/05(日) 19:59:38.94ID:FXcRiqza0CはANSI-Cで完成しているからな。C99以降の仕様でどうしても必要なものなんてlong longくらい。
0069デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
2017/03/05(日) 20:06:24.91ID:hQyyoOdR0死んでくれ とっとた
0070デフォルトの名無しさん (ワッチョイ 6bd4-e336)
2017/03/05(日) 22:15:18.97ID:VTxP7/2w0仕様を変える必要性があったのか? という気はしないでもない。
0071デフォルトの名無しさん (ワッチョイ 8b7b-ERAc)
2017/03/05(日) 22:35:20.65ID:qOQ2PN1U0C11なんか誰が使ってんの?って感じだし。
>>68
long long を準備するくらいなら, sizeof(int) == 8 の処理系をさっさとつくるべき
0073デフォルトの名無しさん (ワッチョイ cb3c-NqFr)
2017/03/05(日) 22:39:39.21ID:pZffxBVA0使う側の問題ではあるが
0074デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
2017/03/05(日) 22:46:24.51ID:hQyyoOdR0ライブラリ(の中で静的変数を確保するようなコード)でも書かない限り extern は不要
0076デフォルトの名無しさん (ワッチョイ cb3c-NqFr)
2017/03/05(日) 22:57:48.43ID:pZffxBVA0そんなときのための tentative definition
0078デフォルトの名無しさん (ワッチョイ 8b42-NqFr)
2017/03/05(日) 23:21:29.99ID:1JomNGIg00079デフォルトの名無しさん (ワッチョイ 1f17-NqFr)
2017/03/06(月) 01:17:27.44ID:2/63ad4Z00080デフォルトの名無しさん (ワッチョイ 8b7b-ERAc)
2017/03/06(月) 01:33:56.85ID:k6KUwGnB0Genericはゴミ
他は…あれば便利だけど特定のコンパイラでビルド出来なくなるデメリットに目を瞑ってまで使いたいとは思えない
0081デフォルトの名無しさん (ワッチョイ 1fe5-kMYg)
2017/03/06(月) 02:40:03.27ID:i/MU6nkw0メモ帳のpidを1111として
kill(1111,SIGTERM);
としてもタスクキルされないのですが
0082デフォルトの名無しさん (ワッチョイ 6bd4-e336)
2017/03/06(月) 03:20:51.34ID:NUOafv2T0http://support.microsoft.com/ja-jp/help/409542
0083デフォルトの名無しさん (ドコグロ MMbf-Y1yA)
2017/03/06(月) 07:23:55.49ID:HrLL0BzwM0084デフォルトの名無しさん (ワッチョイ ef81-fLnF)
2017/03/06(月) 07:44:56.29ID:c2C1QaOD00085デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
2017/03/06(月) 08:00:30.96ID:0PrPfpk/0未だに理解してないようだな
グローバル変数を使う時に必要
0086デフォルトの名無しさん (ワッチョイ 0f24-T7IB)
2017/03/06(月) 10:51:45.16ID:DwMqYVii0だよな
何でもかんでもゴテゴテつけるのは
ないなら作れというCの思想に反する
0087デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
2017/03/06(月) 11:39:16.77ID:0PrPfpk/0designated initializer
flexible array member
compound literal
snprintf
ついてこれないジジイが使わないのは勝手だが
懐古オナニーはジジイ仲間で見せあうだけにしておけ
0088デフォルトの名無しさん (ドコグロ MMef-TqyC)
2017/03/06(月) 12:12:38.80ID:k/FbYHjZMところで、一時的に使った変数を「これ以降使わないよ」って宣言できないかな?
undef みたいな感じで。
0089デフォルトの名無しさん (ワッチョイ 0f4f-2BvX)
2017/03/06(月) 12:17:05.41ID:GI3nM20k00090デフォルトの名無しさん (ドコグロ MM6f-KW4d)
2017/03/06(月) 13:09:58.99ID:L9fnRYGMMブロック先頭で定義する方が使ってる変数が一目で分かっていいよ。
あとちゃんと設計されてる感がある
0091デフォルトの名無しさん (フリッテル MM7f-8aD0)
2017/03/06(月) 14:04:54.74ID:turPSodzM世の中の下位レイヤのほとんどのコードがC/C++
むしろほとんどのプラットフォームで未だに活躍中なんだがな
それを知らないって本当にPGか疑わしい
0092デフォルトの名無しさん (ワッチョイ ef81-fLnF)
2017/03/06(月) 15:06:33.42ID:c2C1QaOD0C++もC#かJavaに置き換わってるよ
世の中の流れから取り残されたジジイは黙ってろよwww
0093デフォルトの名無しさん (ワッチョイ 8b7b-ERAc)
2017/03/06(月) 15:18:24.25ID:k6KUwGnB00094デフォルトの名無しさん (フリッテル MM7f-8aD0)
2017/03/06(月) 15:27:27.06ID:wVaOk6lpMそのVMがプラットフォーム無しで動いてるとでも?
VMも所詮プラットフォーム上で動くただの上位レイヤのアプリでしかないだがね
そんなに言うならプラットフォーム自身をそのC#やらJavaで作ってみたらいい
取り残されているのは上位レイヤしか触れない連中だよ
まずそれを自覚した方がいいマジで
0095デフォルトの名無しさん (ワッチョイ 0f4f-2BvX)
2017/03/06(月) 15:32:50.40ID:GI3nM20k00096デフォルトの名無しさん (ワッチョイ 5b4e-xEld)
2017/03/06(月) 15:32:55.63ID:B+jhZQKr00097デフォルトの名無しさん (ワッチョイ ef81-fLnF)
2017/03/06(月) 15:39:25.17ID:c2C1QaOD0C言語なんかでやってたら今主流のソフトなんて一生かかっても完成しない
C言語しか知らないバカ
0098デフォルトの名無しさん (ワッチョイ ef81-fLnF)
2017/03/06(月) 15:41:41.99ID:c2C1QaOD0って言ってるのと同じくらいアホらしい意見でしかない
0099デフォルトの名無しさん (ワッチョイ 1f3c-LOQs)
2017/03/06(月) 15:42:54.06ID:lmlH3P4+0少し前の自分を見てるみたいで微笑ましい。
0100デフォルトの名無しさん (ワッチョイ 8b7b-ERAc)
2017/03/06(月) 15:45:11.54ID:k6KUwGnB00101デフォルトの名無しさん (フリッテル MM7f-8aD0)
2017/03/06(月) 16:15:36.45ID:26MVvIlFM誰も1からCで作れなんて言ってないじゃん
これだから馬鹿は困る
0102デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
2017/03/06(月) 16:49:28.72ID:0PrPfpk/0低レベルすぎる
使い捨てるループ変数を先頭で定義することが「ちゃんと設計」
constで済む変数もconstに出来なかったり
あっ、お爺ちゃんはconstなんて知らないか
0103デフォルトの名無しさん (アウアウウー Sa2f-BQ+s)
2017/03/06(月) 17:01:10.73ID:wb/Uuzufa0104デフォルトの名無しさん (ワッチョイ 5b4e-xJij)
2017/03/06(月) 17:06:52.49ID:B+jhZQKr00105デフォルトの名無しさん (ワッチョイ 4fc9-BJNc)
2017/03/06(月) 17:16:44.41ID:Sa3Mqufl0ループ変数ってまさにブロックの先頭で宣言するよね
0106デフォルトの名無しさん (フリッテル MM7f-8aD0)
2017/03/06(月) 18:00:32.13ID:aYtCVo5YMC言語にもconstあるよ
知らなかった?
これでまた1つ勉強になって良かったね
0107デフォルトの名無しさん (ワッチョイ 8b7b-ERAc)
2017/03/06(月) 18:18:39.71ID:k6KUwGnB0最後の煽りはともかくそういう意味じゃないでしょ。
途中で宣言出来ないとconstに出来ないものもあるって話だと思う。
例えばこういうの
a_init(a);
const int c=f(a);
0108デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
2017/03/06(月) 18:24:17.23ID:0PrPfpk/0しねーよ
0109デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
2017/03/06(月) 18:25:49.45ID:0PrPfpk/0頭悪りーな
0110デフォルトの名無しさん (ブーイモ MM3f-R7fB)
2017/03/06(月) 18:42:01.64ID:X6GSlxMnM態々ブロックで包むのもだるいし
0111デフォルトの名無しさん (フリッテル MM7f-8aD0)
2017/03/06(月) 19:31:24.39ID:CMFZE9+kMそれ出来るけど
C99かC11で
0112デフォルトの名無しさん (ワッチョイ 8b7b-ERAc)
2017/03/06(月) 19:39:13.31ID:k6KUwGnB0だーかーらーC88で十分でブロックの先頭だけで宣言出来ればいいって言ってる奴に対して言ってるんだっての…
他人の発言を代わりに説明してあげてる俺バカみたいだからこれ以上ツッコミあっても答えねえよ
0113デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
2017/03/06(月) 19:41:23.20ID:0PrPfpk/0本当に頭悪い
0114デフォルトの名無しさん (ドコグロ MM2f-Y1yA)
2017/03/06(月) 19:45:49.72ID:qEORy0cSMあるかどうかは知らんけど普通に作れるでしょ
テキスト読んでバイナリ吐ければいいのでモダンな言語ならできない言語の方が珍しいかと
単なるグローバル変数をつかうのならば,tentative definition で十分
そういうときには { } で小分けにすればいいだけ
というか,やたらめったらに変数を量産するからそんな目にあう
Javaコンパイラ,C#コンパイラを名乗るのだったら,自分自身をコンパイルできなければだめだね
C89 だよ,いちど文法を調べてみなよ,必要十分とはまさにこのこと
0119デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
2017/03/06(月) 21:11:28.16ID:0PrPfpk/0まだ理解してないのかバカが1匹
0120デフォルトの名無しさん (ワッチョイ ef81-fLnF)
2017/03/06(月) 22:21:37.05ID:c2C1QaOD0C言語しか分からない時代遅れの上に知恵遅れだなw
0121デフォルトの名無しさん (ワッチョイ 8b7b-ERAc)
2017/03/06(月) 22:38:00.23ID:k6KUwGnB0なんでC言語しか分からないって事がお前に解るの?
0122デフォルトの名無しさん (ワンミングク MM3f-swil)
2017/03/06(月) 22:58:16.40ID:HD9d9iiPM0123デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
2017/03/06(月) 23:52:25.88ID:0PrPfpk/0CLRやJavaVMの記述言語がわからないド底辺か
0124デフォルトの名無しさん (ワッチョイ 8b42-NqFr)
2017/03/06(月) 23:53:15.16ID:1xt4bVO70しっぽが9本生えてきて、
透視能力も身につくらしい
0125デフォルトの名無しさん (ワッチョイ ef81-fLnF)
2017/03/07(火) 00:00:35.92ID:O3agX0W90当然C言語しか出来ないに決まっているw
これがバカでなきゃ何なんだよwww
0126デフォルトの名無しさん (ワッチョイ 1f17-NqFr)
2017/03/07(火) 00:26:11.17ID:54fjNwR80Cが出来れば他の言語は比較的かんたんに覚えられる
0127デフォルトの名無しさん (ワッチョイ dbfd-2BvX)
2017/03/07(火) 07:44:28.92ID:t7Ngew/R00128デフォルトの名無しさん (ワッチョイ 0f24-T7IB)
2017/03/07(火) 09:22:52.75ID:O/JMqbZP0へー、おまえ安い仕事にしかありつけないのか
低スキルですって自己紹介しなくていいのにw
0129デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
2017/03/07(火) 10:06:01.46ID:iKWZ1BlO0非正規はそう言う状態なのか? そりゃかわいそう
0130デフォルトの名無しさん (ワッチョイ 1bdc-ZIZW)
2017/03/07(火) 11:36:26.32ID:Op3K+dMb0良く知らないけど。
0131デフォルトの名無しさん (ワッチョイ 9fe1-LFAQ)
2017/03/07(火) 12:58:47.82ID:7YWE/8fn0Javaは知らんけど、C#のコンパイラはC#製
0132デフォルトの名無しさん (ワッチョイ ab85-GPt5)
2017/03/07(火) 17:58:00.93ID:sN5zB8qN0それは感心なこころがけだ
0133デフォルトの名無しさん (ワッチョイ 8b7b-ERAc)
2017/03/07(火) 18:06:57.58ID:MCZ/J11a0CLRは3割がC++だけどな
老人のために翻訳してあげるよ
designated initializer 指示つきの初期化子 struct S { int a; int b; } Obj = { .a = 12, .b = 34 };
flexible array member 最後のメンバーが不定長構造体、でもこの技は昔から、たとえば C FAQ でもすでに言及されているよね
compound literal 複合リテラル 無名の一時オブジェクトを構文で作ることができるやつ、関数の引数で無名で T の一時変数をつくりたいときに (T){.a = 12, .b = 34} と一時変数をつくれる
snprintf シグナチャーは int snprintf(char *s, int n, const char *format) ようは sprintf() のセキュリティ強化版
初期化子がらみについて文句をいうとすれば、どうせ拡張するんだったら C++11 later に完全にあわせてほしかったね…
0135デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
2017/03/07(火) 20:20:26.79ID:iKWZ1BlO0ウソを混ぜて翻訳しなくて良い
ついてこれないんだろ
ジジイは老人会に引っ込んでろ
0136デフォルトの名無しさん (ワッチョイ ef13-QIj4)
2017/03/07(火) 20:43:36.34ID:C5UF9tvt0どこが嘘だというのか?
具体的に指摘できないのか?
0137デフォルトの名無しさん (ワッチョイ eb6f-KW4d)
2017/03/07(火) 20:49:41.64ID:l+KB4C7U00138デフォルトの名無しさん (ワッチョイ ef13-QIj4)
2017/03/07(火) 20:54:39.52ID:C5UF9tvt0頭のいい人は,しゃべるときも明晰な論理を貫徹するね
0139デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
2017/03/07(火) 21:08:01.87ID:iKWZ1BlO0> flexible array member 最後のメンバーが不定長構造体、でもこの技は昔から、たとえば C FAQ でもすでに言及されているよね
0140デフォルトの名無しさん (ワッチョイ 1f5b-wJyW)
2017/03/07(火) 21:17:17.06ID:dyD8NGJK0ちょっと頭がアレなやつなんだからよ。
0141デフォルトの名無しさん (ワッチョイ 0f31-3D2C)
2017/03/07(火) 21:54:59.55ID:9V/NxRrg0問題はC言語で何を作るか何だけど?
やっぱり、ある程度は作るモノは決まってたりするの?
0142デフォルトの名無しさん (ワンミングク MM3f-swil)
2017/03/07(火) 22:13:28.75ID:jqZP77OvM0143デフォルトの名無しさん (ドコグロ MM6f-TqyC)
2017/03/07(火) 22:36:56.12ID:cCh6hZTkM0144デフォルトの名無しさん (ワッチョイ ef81-fLnF)
2017/03/08(水) 05:32:52.19ID:fg5w6sCm0廃棄寸前の過去の組み込み機器のメンテとか?
今ならJavaか少なくともせいぜいC++だろうよ
C++もJavaかC#におきかわりつつあるし
C++も出来ない50歳くらいのジジイプログラマってたまにいるけど
だいたいブラック派遣で年収も300万くらいらしいわw
もう死ねよwww
0145デフォルトの名無しさん (ワッチョイ 8b7b-mDf3)
2017/03/08(水) 05:55:29.49ID:7Auc+YVy0ちょっと言葉が足りなかったね
flexible array member 最後のメンバーが不定長配列(a[0]とか),結果として全体が不定長構造体,
でもやっぱりこの技は昔から C FAQ でも言及されてるんだよな‥C89 では a[0] とかけないので,a[1] にしているよ
0147デフォルトの名無しさん (アウアウカー Sa6f-/hOr)
2017/03/08(水) 08:23:34.70ID:Wr2kD9p+aプログラマは仕事によるレイヤーで語る
0148デフォルトの名無しさん (アウアウカー Sa6f-k9EO)
2017/03/08(水) 08:50:28.85ID:ZrUr+Lkoa要素数0じゃなくて、要素数の省略だろ
というか、要素数に0を指定するのって未定義じゃなかったっけ
0149デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
2017/03/08(水) 09:43:12.83ID:tKO0gCMl030点
ジジイは無理について来ようとしなくて良い
そうか、要素数を0とできたのは gcc 拡張だったかもしれないね
>>149
この手のものは昔からある手法だよ、バンバンつかっていたよね、
別に flexible array membe と名前がつかなくても問題ないよね
http://www.kouno.jp/home/c_faq/c2.html#6
C99 で追いついたとおもっている若者はお前かね?
0151デフォルトの名無しさん (ワッチョイ 0f24-T7IB)
2017/03/08(水) 15:00:08.45ID:DNe+Lf9O0それは気分の問題で本質的には何も変わってないんだよ
ヤダジタするガキにくれてやるおしゃぶりという意味で_Boolと同じだ
0152デフォルトの名無しさん (ワッチョイ 0f4f-2BvX)
2017/03/08(水) 15:45:17.33ID:Ms4iQyEm00153デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
2017/03/08(水) 15:57:06.21ID:tKO0gCMl030点 的外れな戯言並べても採点は変わらない
ジジイは無理すんな w
0155デフォルトの名無しさん (ワッチョイ 9fe1-LFAQ)
2017/03/08(水) 18:38:53.79ID:ERQkfdVq0コンパイラ拡張に依存したり、わかりにくいマクロが減らせる
0156デフォルトの名無しさん (ワッチョイ ab85-GPt5)
2017/03/08(水) 18:45:04.00ID:/EX97NIO0いやね、C89 で十分という気がして仕方がない
仮に C89 処理系を作っていたとして、それを C99 に適合させる気力が湧くか、考えてみるけれどもたぶんやる気がでないだろう
あの alloca() の改変である実行時領域確保配列なんかは筋悪にしかみえない、たしか C11 とか C++ ではオプションになったとか、それもよくわかる
0157デフォルトの名無しさん (ワッチョイ 6b3c-BJNc)
2017/03/08(水) 18:57:25.94ID:YeRun3zZ0たかが1要素 されど1要素
その要素が 1バイトかもしれないし 1ページかもしれないw
0158デフォルトの名無しさん (ドコグロ MM2f-Y1yA)
2017/03/08(水) 19:53:45.80ID:N8HM6lINM> わかるが、サイズが1変わるかどうかなんて、どうでもいい問題に思っていた
こういう奴は信用できない
0159デフォルトの名無しさん (ワッチョイ 5b4e-xEld)
2017/03/08(水) 20:38:19.19ID:59T19xUI00160デフォルトの名無しさん (ワッチョイ bb4e-CqFM)
2017/03/08(水) 20:58:52.57ID:muMKoRUn0正直使いどころがわからん。
0161デフォルトの名無しさん (ワッチョイ 0ba1-c3r2)
2017/03/08(水) 21:05:16.11ID:nYBrtmF60そうじゃないなら単にやる気の問題だろうけど
0162デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
2017/03/08(水) 21:12:01.33ID:tKO0gCMl0ループの中で繰り返し毎に異なるサイズ確保する場合に重宝する
allocaの改変とか言ってるついてこれないジジイは無視しておけ
0163デフォルトの名無しさん (ワッチョイ 0f24-T7IB)
2017/03/08(水) 21:56:56.05ID:DNe+Lf9O0で? a[1]で書けてたときに問題になってたか?
0164デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
2017/03/08(水) 22:09:34.99ID:tKO0gCMl0a[1]では問題があった、flexible array memberで無くなった
0165デフォルトの名無しさん (フリッテル MM7f-8aD0)
2017/03/08(水) 22:45:59.22ID:sHqr9nhTM俺的には少なくともstdint.hは必須
0166デフォルトの名無しさん (ワッチョイ 3b51-BJNc)
2017/03/08(水) 23:12:32.85ID:oksZ54sT00167デフォルトの名無しさん (ワッチョイ 0ba1-c3r2)
2017/03/08(水) 23:15:10.17ID:nYBrtmF600168デフォルトの名無しさん (アウアウカー Sa6f-k9EO)
2017/03/08(水) 23:19:37.95ID:kUhBpeLWaしてるけど、64bit環境とか考慮できてない腐ったコードもあるからな
flexible array memberなんかも末尾配列の要素数に0とか1指定でそれっぽいことはできていたけど、未定義を踏まざるを得なかった
それが規格に則って書けるようになるってのは良いことだと思うけどな
0169デフォルトの名無しさん (ワッチョイ 3b51-BJNc)
2017/03/08(水) 23:25:57.49ID:oksZ54sT0十分に普及するまでは逆に移植性が悪くなるというジレンマ。
0170デフォルトの名無しさん (ワッチョイ eb6f-KW4d)
2017/03/08(水) 23:27:52.41ID:jyzNIqf90どうしてもC99でないと困るってことはないけど
//コメントとかinttypes.hはよく使うから、あれば便利
0171デフォルトの名無しさん (ワッチョイ bb4e-CqFM)
2017/03/08(水) 23:29:36.18ID:muMKoRUn0その意味がわからないんだけど…
最大値を気にせず確保することなんてありえるの?
0172デフォルトの名無しさん (ワッチョイ 134e-ATAZ)
2017/03/09(木) 01:29:12.80ID:3g6CLylS0例えば引数によってとか。
0173デフォルトの名無しさん (ワッチョイ fb4e-HNYZ)
2017/03/09(木) 02:11:21.55ID:Kb3gKMEf0しかも外部入力でリミット切らないとか、セキュリティホールの典型じゃね?
で、最大値決めるって事は、可変にする必要がないって事だと思うんだが…
0174デフォルトの名無しさん (ワッチョイ 134e-ATAZ)
2017/03/09(木) 06:20:42.92ID:3g6CLylS0int size = a / b;
int array[size] = {0};
sizeは実行時に決まるが問題の無い範囲であるのが保証できる場合、
計算結果であるsizeを再利用できるのでパフォーマンスがいい
0175デフォルトの名無しさん (ドコグロ MM92-ezmg)
2017/03/09(木) 06:38:53.59ID:K/l9Si6sM常に最大値で配列切っとけってこと?
いやそうしたけりゃお前はそうすればいいと思うよ
VLA はセキュリティの穴になりうるね,実行時の値で配列の上限が決まるなんて危険な発想ではないかい?
そんなものを標準に入れていいのか?
>>174
配列の要素数がパフォーマンスに関係することなんかないんでないかい?
0177デフォルトの名無しさん (ドコグロ MM92-ezmg)
2017/03/09(木) 07:44:22.47ID:K/l9Si6sM(バカが使えば)
> VLA はセキュリティの穴になりうる
VLA に限った話じゃないけどね
0178デフォルトの名無しさん (ブーイモ MM92-busz)
2017/03/09(木) 08:08:41.65ID:dsGfio+6M外部入力でサイズが決まるとしても起こりうるのは
スタックオーバーフローくらいのもんだろ
そんなのは再帰が深くなりすぎても起こる
たとえmallocに変えたところで問題がスタックからヒープに移るだけ
0179デフォルトの名無しさん (ワッチョイ 0719-9O7/)
2017/03/09(木) 08:08:57.49ID:F9CUJ5lt0int array[size] = {0};
}
解決策考えたよ
0180デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
2017/03/09(木) 08:29:50.20ID:QUckDsXy0何言ってんだバカ
VLAのサイズと最大値は全く独立だ
お前の心配するセキュリティホールの実例出してみろよ
笑ってやるから
0181デフォルトの名無しさん (ワッチョイ fb4e-HNYZ)
2017/03/09(木) 08:59:36.08ID:Kb3gKMEf0google で
「スタックオーバーフロー セキュリティ」
を検索して最初に表示されるページを読んでから反応しなよ…
0182デフォルトの名無しさん (ワッチョイ 0719-9O7/)
2017/03/09(木) 09:08:20.35ID:F9CUJ5lt0そのサイト凄いな、時間計って読んでみたらちょうど5分で読み終わった。
0183デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
2017/03/09(木) 09:14:10.67ID:QUckDsXy0とっとと、実例を出せよ
笑ってやるから
スタックオーバーフローのメカニズムわかってないだろ w
0184デフォルトの名無しさん (ワッチョイ 364f-aizu)
2017/03/09(木) 09:31:48.50ID:iRW4jXC40VLAの機構の中にリスクが内在してて可能になっちゃうということ?
0185デフォルトの名無しさん (ワッチョイ 0719-9O7/)
2017/03/09(木) 09:50:34.19ID:F9CUJ5lt0sizeをリターンアドレスの一個前にもってくるようにして
次に都合よくgetsが出てくるから、そこでジャンプ後のアドレス+
悪意あるコードを入力すると関数から戻ったとき悪意あるコードが
実行されるってことを言いたいんだろ
0186デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
2017/03/09(木) 10:00:19.43ID:QUckDsXy0>VLA はセキュリティの穴になりうるね,実行時の値で配列の上限が決まるなんて危険な発想ではないかい?
>そんなものを標準に入れていいのか?
snprintf不要と言ってるジジイの発言らしくないな
0187デフォルトの名無しさん (ワッチョイ e6c9-2hGO)
2017/03/09(木) 11:39:27.23ID:LxMtt/hf00188デフォルトの名無しさん (ワッチョイ 364f-aizu)
2017/03/09(木) 11:46:44.45ID:iRW4jXC40>>180
>VLAのサイズと最大値は全く独立だ
では聞くが、VLA はどこに確保されるの?スタックなの?ヒープなの?
0190デフォルトの名無しさん (ワッチョイ 134e-ATAZ)
2017/03/09(木) 14:10:16.74ID:3g6CLylS0パフォーマンスに影響する(場合がある)のは、要素数じゃなく式の値(a / b)の再利用
0191デフォルトの名無しさん (ワッチョイ 134e-ATAZ)
2017/03/09(木) 14:17:05.30ID:3g6CLylS0VLAが使えるなら使っちゃうなあ
0192デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
2017/03/09(木) 15:18:40.35ID:QUckDsXy0ついてこれないジジイは無理すんな
スタック領域を1000000以上拡張出来ないと仮定して
int a[1000000];
int l = 1000000;
...
int a[l];
どちらも拡張失敗するのは実行時
VLAだから失敗するわけじゃない
snprintfに関しての言い訳はしないのか?
質問を繰り返そう
VLA はどこに確保されるの?スタックなの?ヒープなの?はっきりさせてよ
>snprintf
安全だからありがたく使わせていただきますけれども、C99 の目玉ってわけでもないかと
そうなんだ…
新しいものを避けるのは、私ももう老人ってことかもね
alloca() をバンバン使ってる口だから(alloca() は実装されてない系もある)、そこんところの実装がはっきりしてるんだったら使ってもいいかな
なるほどね、規格になった、てことで意味があるんだね
flexible array member も VLA も昔からある作法だし、C89 で十分だ、って頑なに思っていたけれども考え直してもいいかもね
0196デフォルトの名無しさん (ドコグロ MM27-ezmg)
2017/03/09(木) 18:47:48.68ID:LA1Z4pgPM最大値の大きさによるけどでかいなら俺はヒープにとる
0197デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
2017/03/09(木) 18:57:57.10ID:QUckDsXy0>>192で回答済みだが、ジジイは分からないようだから答えてやろう
固定長アレイが確保されるのと同じ領域
大部分の実装ではスタック
で、それが何か?
0198デフォルトの名無しさん (JP 0H1f-busz)
2017/03/09(木) 18:58:32.59ID:9TBsKkVvHどこに確保されるかわかると嬉しいことでもあるの?
実際、どこに確保されるかは決まっていない
0199デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
2017/03/09(木) 18:59:10.03ID:QUckDsXy0>flexible array member も VLA も昔からある作法だし、
ねーよ、ジジイ
0200デフォルトの名無しさん (ブーイモ MM2b-9hUc)
2017/03/09(木) 19:17:51.15ID:fyCowO4bMクリーンなコードの為のガイドラインに近い気がする
0201デフォルトの名無しさん (ワッチョイ bf85-BkNt)
2017/03/09(木) 19:30:40.14ID:9nAslxZ/0そうだね、強いて述べると安心感だね
alloca() とからくりが同じなら、よくわかるし、なによりも今までずっと使ってきたから安心だ、そこんところは規格に書いてないの?
>>198
VLA の確保領域がスタックなら、十中八九それは alloca() と同じだろうね
いいたいことは、C99 の大部分が、C89 ですでにやってきたことだ、ということだよ
>>86 で
>ついてこれないジジイが使わないのは勝手だが
とあるが、
実のところ、諸々のことは昔からやってきたことで、C89 を味わっているクラスとしては、C99 は今更感が強いんだよ
いや、今更感というのもしっくりこないな、なんというか、字面だけで見栄えがいいというだけで規格している、というか、
スタックかヒープかをはっきりさせないところというか
少なくとも、C++11 の右辺値参照ほどのインパクトは、ない
>>199
それは無知というほかはない
0202デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
2017/03/09(木) 19:54:01.97ID:QUckDsXy0>それは無知というほかはない
まさかc faq 2.6がflexible array memberだと言う主張が?
これまでの戯言読む限りはそうっぽいが w
そのとおりだよ
そうじゃないというのなら、
お前のいうところの flexible array member を使ったコードを書いてみてくれないかな?
お前のいうところの flexible array member の必要性を明示するコードを頼む
0204デフォルトの名無しさん (ドコグロ MM27-ezmg)
2017/03/09(木) 20:02:02.08ID:LA1Z4pgPMって言うことでいいのかな?
0205デフォルトの名無しさん (ワッチョイ 0719-9O7/)
2017/03/09(木) 20:13:40.89ID:F9CUJ5lt0そんなふうに考えていた時期が俺にもありました
0206デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
2017/03/09(木) 20:18:03.80ID:QUckDsXy0ジジイのくせに基本的なこと知らねーのな
c faq 2.6はstruct hackと呼ばれる【技法】
初めは長さ1のアレイで実装されてた
gccだかどっかが長さ0のアレイを許して大きさの計算を楽にした
でも、規格に完全に適合して無かった
大きな長さのアレイで実装する事が提案されたが、とてもダサかった
struct hackを規格に適合して実装するためのC99の【言語機能】がflexible array memberだ
0207デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
2017/03/09(木) 20:21:37.39ID:QUckDsXy0>実のところ、諸々のことは昔からやってきたことで、C89 を味わっているクラスとしては、C99 は今更感が強いんだよ
>いや、今更感というのもしっくりこないな、なんというか、字面だけで見栄えがいいというだけで規格している、というか、
>スタックかヒープかをはっきりさせないところというか
長くやってても、何も理解していないと言う悪い見本
0208デフォルトの名無しさん (ブーイモ MM2b-busz)
2017/03/09(木) 20:39:48.15ID:eJ64f19XMあはは,alloca() と同じだったんなら,まあ VLA でもいっか‥と転向しました,てへぺろ
0211デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
2017/03/09(木) 21:15:22.33ID:QUckDsXy0【技法】と【言語機能】の区別つけような ジジイ
0212デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
2017/03/09(木) 21:17:42.13ID:QUckDsXy0あー、つまりVLAがどこに確保されるか知らないで
筋悪っ とか言ってたって事ね 死ねジジイ
0213デフォルトの名無しさん (ブーイモ MM2b-busz)
2017/03/10(金) 00:57:30.56ID:+YP/FacCM0214デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
2017/03/10(金) 01:08:50.79ID:1BLND3090>>180
google で
「スタックオーバーフロー セキュリティ」
を検索して最初に表示されるページを読んでから反応しなよ…
0215デフォルトの名無しさん (ブーイモ MM2b-busz)
2017/03/10(金) 01:22:38.60ID:+YP/FacCM環境によって順位が変わりうるので具体的なURLよろ
0216デフォルトの名無しさん (ワッチョイ 3672-1om1)
2017/03/10(金) 02:56:17.07ID:7J5p523R0alloca() をずっと使ってきたといったろう?VLA もおそらくそんなところだろうと想像してはいたね,
ただ筋悪だと思うことは今でも変わらないよ,配列は普通に固定長で書いたほうがいい,という主観だからね
ただここで意見をいただいて(お前からもいただいた,と思っているよ)スタンスの一部が変わったかもしれない
>>211
>>206 までさも大事なことのように出し惜しみしていた内容だが
実は >>168 ですでに述べられていることだったね
0218デフォルトの名無しさん (ドコグロ MMca-ezmg)
2017/03/10(金) 08:06:05.30ID:V/tY9QS2Mお前がやることは
知ったかしてよく知らないのに >>173 のレスをしてしまいました
ごめんなさい
だろ
0219デフォルトの名無しさん (アウアウカー Sa7f-K8Mp)
2017/03/10(金) 08:33:50.79ID:9tLH1/xpa0220デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
2017/03/10(金) 08:43:28.66ID:1BLND30900221デフォルトの名無しさん (ワッチョイ 364f-aizu)
2017/03/10(金) 08:59:33.13ID:USScrCM40スタックオーバーフローは起こせるけど
そこからどうやってセキュリティーホールたる
悪意のあるコードの注入と実行に至るのか知りたい
確保サイズを超えての書き込み(オーバーラン)は
セキュリティーホールに成り得るけど、それはVLAだろうが固定だろうが同じだし
0222デフォルトの名無しさん (ドコグロ MM83-pmxy)
2017/03/10(金) 09:12:05.47ID:OTPF9/DXM次に出てくる確率はどのくらいだろうね?
0223デフォルトの名無しさん (ワッチョイ bf7b-NGN/)
2017/03/10(金) 09:15:12.97ID:1BLND3090VLAがどこに確保されるか確認したくて粘着してたと言い訳するのか?
じゃ、答え合わせが終わったところで、
> VLAのサイズと最大値は全く独立だ
につけてきた言いがかりは撤回するって事だな。
0224デフォルトの名無しさん (ワッチョイ bf7b-NGN/)
2017/03/10(金) 09:54:31.76ID:1BLND3090セキュリティの穴を説明しろ
>>176 : ◆QZaw55cn4c (ワッチョイ be13-H6F/)2017/03/09(木) 07:10:53.29 ID:hGM1T24/0
> >>175
> VLA はセキュリティの穴になりうるね,実行時の値で配列の上限が決まるなんて危険な発想ではないかい?
> そんなものを標準に入れていいのか?
0225デフォルトの名無しさん (ワッチョイ 0719-9O7/)
2017/03/10(金) 10:02:29.68ID:YR4SAqR10セキュリティーホールとは安全のホールの事です
安全のホールとは安全の穴の事です。
安全の穴とは自分で調べろカスということです。
0226デフォルトの名無しさん (エーイモ SEb2-j8zu)
2017/03/10(金) 11:15:35.92ID:+H2nFcdAE0227デフォルトの名無しさん (アウアウウー Sa93-gCpv)
2017/03/10(金) 12:34:51.49ID:6UnBWLdUaそいつらよか機械寄りの言語だからブラックボックスが少ないし
ただ暗記より理解が大事にはなる
人間の視点を捨てて機械の気持ちになるんだ
0228デフォルトの名無しさん (ドコグロ MM83-UZLy)
2017/03/10(金) 12:46:04.08ID:b/HgXddWM0229デフォルトの名無しさん (ワッチョイ 0719-9O7/)
2017/03/10(金) 13:47:06.37ID:YR4SAqR100230デフォルトの名無しさん (ワッチョイ af7b-aox5)
2017/03/10(金) 13:56:43.32ID:LsCbePTG00231デフォルトの名無しさん (ワッチョイ bf85-aizu)
2017/03/10(金) 18:35:04.54ID:JlJm70jl0「VLA って alloca() のことじゃない、類似品なら C89 のときからあるよね」
「flexible array member って C FAQ に書いてあるじゃない、類似品なら C89 のときからあるよね」
「C99 についてこれないと老人よばわりするけど、実は昔からあるよね」
0232デフォルトの名無しさん (ワッチョイ bf85-BkNt)
2017/03/10(金) 18:40:21.38ID:JlJm70jl0>>173 は別人だよ
でもね、スタックに配列を置くんだったら基本固定長だね、まあ alloca() を使ってみたりするくらいだから自分も首尾一貫はしていないのは認めるけどね
>>173 の指摘はするどいね
>外部入力でリミット切らないとか、
自分もこわくてできないね
0233デフォルトの名無しさん (ワッチョイ bf7b-NGN/)
2017/03/10(金) 19:05:25.98ID:1BLND3090>>217
VLAがどこに確保されるか確認したくて粘着してたと言い訳するのか?
じゃ、答え合わせが終わったところで、
> VLAのサイズと最大値は全く独立だ
につけてきた言いがかりは撤回するって事だな。
0234デフォルトの名無しさん (ワッチョイ 0719-9O7/)
2017/03/10(金) 19:06:34.39ID:YR4SAqR100235デフォルトの名無しさん (ワッチョイ bf7b-NGN/)
2017/03/10(金) 19:10:43.67ID:1BLND3090allocaは平気で使ってるようだけど、なんでVLAは
> >外部入力でリミット切らないとか、
> 自分もこわくてできないね
これなんだ? 謎
0236デフォルトの名無しさん (ドコグロ MMca-ezmg)
2017/03/10(金) 19:32:49.66ID:V/tY9QS2M別人ならすまん
> >>173 の指摘はするどいね
> >外部入力でリミット切らないとか、
> 自分もこわくてできないね
これはセキュリティホールの話かね?
そうだと言うならどこがどう危険なのか詳しく説明して欲しいんだが
0237デフォルトの名無しさん (ワッチョイ bf85-BkNt)
2017/03/10(金) 19:33:05.83ID:JlJm70jl0首尾一貫していないのは認めるよ、でもスタックに何でも乗せまくるのは怖いね
データをスタックに置き、スタックからヒープに移す一連の作業では、データ用の配列は固定長にするね、そこらへんは慎重にやってるよ
alloca のいいところは使い捨てができるところだね
いいたいことは >>231
0238デフォルトの名無しさん (ワッチョイ bf85-BkNt)
2017/03/10(金) 19:37:50.00ID:JlJm70jl0セキュリティホールも視野にいれているが、直接は関係ないかもしれないね
セキュリティホールは、書いている時点では予想もつかないところがあるから(ミスは事前にはわからない)
自分の能力を考えて、スタックには固定長をあてるようにしているよ
固定長の定数を最低限に振って(N=2 くらい)、それでも正常に動くことを確認したりしてから N=1024 とか 4096 とか適当にわりふっているよ
自分の能力を過信しないことだよ
だから VLA は使わない
0239デフォルトの名無しさん (ドコグロ MMca-ezmg)
2017/03/10(金) 19:59:52.49ID:V/tY9QS2Mもう言ってることがむちゃくちゃだな...
> セキュリティホールも視野にいれているが、直接は関係ないかもしれないね
結局関係あるかどうかも知らないのに
> >>173 の指摘はするどいね
とか言ってたのかよ
> セキュリティホールは、書いている時点では予想もつかないところがあるから(ミスは事前にはわからない)
今の話に関係ないよな
> 自分の能力を考えて、スタックには固定長をあてるようにしているよ
お前の能力なんてどうでもいいし、プログラムの作り方もどうでもいい(部下がやってたら張り倒すけど)
> 自分の能力を過信しないことだよ
鏡を見た方がいいぞ
> だから VLA は使わない
これもどうでもいい結論だな
0240デフォルトの名無しさん (JP 0H1f-busz)
2017/03/10(金) 20:00:22.53ID:cy2JzExTH0241デフォルトの名無しさん (フリッテル MM0e-X9Oq)
2017/03/10(金) 20:06:19.22ID:Y9Psq7+lMメガバイト以上はヒープ推薦
0242デフォルトの名無しさん (ワッチョイ 0719-9O7/)
2017/03/10(金) 20:06:51.85ID:YR4SAqR100243デフォルトの名無しさん (ワッチョイ f217-csvI)
2017/03/10(金) 20:44:24.96ID:n8W4k0Sb0まあ,そうだね
0245デフォルトの名無しさん (ワッチョイ bf7b-NGN/)
2017/03/10(金) 21:57:09.32ID:1BLND3090非標準ライブラリのallocaは使うのにVLAを使わない理由はなんだ
逃げてないで答えろよ
0246デフォルトの名無しさん (ワッチョイ bf7b-NGN/)
2017/03/10(金) 21:59:24.00ID:1BLND3090非標準ライブラリのallocaはセキュリティ上問題ない(だから使う)として
一方でVLAはセキュリティ上問題あるとしている根拠を述べよ
0247デフォルトの名無しさん (ワッチョイ 723c-T4+7)
2017/03/11(土) 00:59:17.54ID:99Bu6VN70ソフトウェアの脆弱性を誘発するためにNSAやアメリカ政府が無理やりぶち込んだ仕様としか思えない。
0248デフォルトの名無しさん (ブーイモ MM92-busz)
2017/03/11(土) 01:24:57.09ID:37V8Z39XMどんな脆弱性?
0249デフォルトの名無しさん (ワッチョイ cfd4-nt29)
2017/03/11(土) 01:44:41.71ID:o4rVijF20スタックサイズ拡張したらダメなの?
0250デフォルトの名無しさん (ドコグロ MMca-ezmg)
2017/03/11(土) 05:56:56.37ID:0cGmXZ4gM> NSAやアメリカ政府が無理やりぶち込んだ仕様としか思えない。
基地害の妄想
0251デフォルトの名無しさん (ドコグロ MMca-ezmg)
2017/03/11(土) 05:58:26.88ID:0cGmXZ4gM>>243 みたいに拡張できないケースは少なくない
0252デフォルトの名無しさん (ワッチョイ f338-9O7/)
2017/03/11(土) 08:06:11.09ID:zScGv76W0C言語マスターの生放送開始 お前らに指南してやんよ
0253デフォルトの名無しさん (ワッチョイ 0742-2hGO)
2017/03/11(土) 09:07:47.31ID:qsNY6D990VLA
超大型干渉電波望遠鏡群(Very Large Array,VLA)
軽量飛行機 (Very Light Aircraft) - 欧州における航空機分類の一つ
垂直発射アスロックミサイル(Vector Launch ASROC)
ボランティア法律家による芸術支援団体(Volunteer Lawyers for the Arts,VLA)
ヴィオラ (Viola) の略称 (vla, va) - ヴァイオリン族の弦楽器
陰謀だな
まちがいない
0254デフォルトの名無しさん (ワッチョイ fe81-1sZU)
2017/03/11(土) 12:50:26.01ID:hyZtRr/u0老い先短いジジイどもは死ぬまでCで書いてろwww
0255デフォルトの名無しさん (ワッチョイ be41-/tS9)
2017/03/11(土) 13:11:24.12ID:awln0KGk0なんでC#は一行で済むと思う?
お前は自分の論理を信用しすぎる
つhttps://en.wikipedia.org/wiki/Godel%27s_incompleteness_theorems
>>173
の指摘は鋭いと思うよ、外部入力でリミットを切らないのは悪手の典型だ
繰り返していっておくが、セキュリティホールは事前には書いている本人にもわからない
だから定石を信用して事を始めたほうが悪い結果がやってこない場合が多い
スタックあふれは発生してはじめてわかる、リンかのオプションを指定しても根本的解決にならない
毎月の windows update が一向に減らない理由も考慮しておいたほうがいい
C99 の可変長配列は、安易にスタックを大盛りにする悪手に誘導するという点で、筋悪だと主張している
(でも私は alloca は使うけどね :-)
0257デフォルトの名無しさん (ワッチョイ bf85-BkNt)
2017/03/11(土) 15:27:36.34ID:sAcoRj840alloca はスタック上に展開することがはっきりしているからね、でも C99 の VLA は実装上の指定は規定にはないのでは?
0258デフォルトの名無しさん (ブーイモ MM2b-busz)
2017/03/11(土) 15:36:12.19ID:VKYuFzhGM0259デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
2017/03/11(土) 15:40:27.05ID:fayNaA1W0逃げずに答えろ
非標準ライブラリのallocaはセキュリティ上問題ない(だから使う)として
その一方でVLAはセキュリティ上問題あるとしている根拠を述べよ
0260デフォルトの名無しさん (ワッチョイ 0719-9O7/)
2017/03/11(土) 16:03:26.08ID:+8AcHZCs0よってarray[size]のsizeがマクロか変数か気にしなくてよくなった。
きにしなくなるということは考えなくなるということだから
何も考えず配列を手軽に使えなくなったということだよ。
0261デフォルトの名無しさん (ワッチョイ 723c-ezmg)
2017/03/11(土) 16:06:18.87ID:d5jme4tX0前半は VLA 固有の話じゃないよな
> C99 の可変長配列は、安易にスタックを大盛りにする悪手に誘導するという点で、筋悪だと主張している
根拠のない主張はチラ裏にでも書いとけ
>VLAはallocaのシンタックスシュガーだろ
規格には書いていないけれども,まあ同意するね >>213
でも,スタック大盛りに誘導するのは筋悪だろう?
>>259
alloca() にセキュリティ上の問題がないとは主張していないよ
setjmp()/longjmp() と同じで,悪い使い方をすれば,当然バグる
0263デフォルトの名無しさん (JP 0H1f-busz)
2017/03/11(土) 16:12:09.28ID:bM520vnYH0265デフォルトの名無しさん (ワッチョイ 0719-9O7/)
2017/03/11(土) 16:22:03.96ID:+8AcHZCs0VLAを使わないないと思っても実はみんな使ってるんだよな。
0266デフォルトの名無しさん (ワッチョイ 725b-Zg/o)
2017/03/11(土) 16:22:22.50ID:m3w8ys+M0もう相手にしなさんな。
複数の端末を使い出してるしよ
0267デフォルトの名無しさん (ワッチョイ bf7b-NGN/)
2017/03/11(土) 16:35:26.69ID:fayNaA1W0allocaを使って、VLAは筋悪といった理由は全然示してないな。
逃げずに答えろ。
> 最終的な回答は >>231 だよ,セキュリティの話は派生的な話題で,正直どうでもいい
じゃ
> VLA はセキュリティの穴になりうるね,実行時の値で配列の上限が決まるなんて危険な発想ではないかい?
> そんなものを標準に入れていいのか?
これは知ったかぶりしましたってことだな。
0268デフォルトの名無しさん (ワッチョイ bf7b-NGN/)
2017/03/11(土) 16:39:36.88ID:fayNaA1W0> VLAはallocaのシンタックスシュガーだろ
全然違う1000年ROMってろ
for() {
char *p = alloca(size);
}
for() {
char p[size];
}
0269デフォルトの名無しさん (ワッチョイ 723c-ezmg)
2017/03/11(土) 16:51:56.73ID:d5jme4tX0> セキュリティの話は派生的な話題で,正直どうでもいい
じゃあ絶賛していたこれは撤回でいいんだよね
> しかも外部入力でリミット切らないとか、セキュリティホールの典型じゃね?
0270デフォルトの名無しさん (ワッチョイ ef6f-/mQW)
2017/03/11(土) 18:41:42.10ID:p1f1fsAr0VLAはブロックの終わりで開放されるところが違う
というかallocaの落とし穴みたいな話だね、これは
0271デフォルトの名無しさん (ワッチョイ bf7b-NGN/)
2017/03/12(日) 09:00:20.57ID:lxzttZnn0C++脳の落とし穴だよ
単なるライブラリ関数が返したポインタをスコープ抜けただけで解放できるわけないじゃん
0272デフォルトの名無しさん (ワッチョイ db7b-IJma)
2017/03/12(日) 14:21:13.54ID:dQxGFGsK0vimで表示した時にカッコが赤くなるのは何でなんでしょうか?
http://i.imgur.com/n84ewum.png
カッコの対応はちゃんとやってると思います。。。
またこのソースをコンパイルしたときに
http://i.imgur.com/XIX3aCv.png
というエラーメッセージが出ますが、これもこの部分を変えていないのに
突然エラーが出始めました。
何度見てもここの表記は間違っていません、というか変えていないので間違ってるわけありません。
これで今日の朝からずっと止まっているのですが、、、
原因が分かる方いますでしょうか?
0273デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
2017/03/12(日) 14:24:07.85ID:lxzttZnn00274デフォルトの名無しさん (エムゾネ FF92-mCUX)
2017/03/12(日) 14:24:47.88ID:CrU6WH4/F0275デフォルトの名無しさん (ワッチョイ db7b-oWlJ)
2017/03/12(日) 14:25:47.72ID:dQxGFGsK0いつ消えたんだ…
0276デフォルトの名無しさん (ワッチョイ 0742-csvI)
2017/03/12(日) 15:15:20.20ID:IXx0ivIZ00277デフォルトの名無しさん (アウアウカー Sa7f-K8Mp)
2017/03/12(日) 16:58:28.23ID:Fl2HPIwQaキモいレスバにフレッシュなコメ
0278デフォルトの名無しさん (フリッテル MM0e-X9Oq)
2017/03/13(月) 12:35:01.26ID:WVfxmOF7M先が厳しいんじゃないか
C言語に関係なく
0279デフォルトの名無しさん (スップ Sd92-oWlJ)
2017/03/13(月) 14:36:21.34ID:dPy5EX8Fdエディタとエラーメッセージの優秀さによるという持論
0280デフォルトの名無しさん (フリッテル MM0e-X9Oq)
2017/03/13(月) 16:10:47.81ID:v3XqhUuXM人間の欲は天井知らずだな
0281デフォルトの名無しさん (ワッチョイ 13f2-jJqA)
2017/03/13(月) 16:55:25.56ID:tV/WpGXC0何が起きているか洞察をする専門職のくせに
コンパイラだけが何か特別なデバイスであるかのように思い込んでいるアフォだね
0282デフォルトの名無しさん (ワッチョイ efb5-j8zu)
2017/03/13(月) 17:25:35.83ID:6TfSzvFh00283デフォルトの名無しさん (ワッチョイ e3dc-XjEB)
2017/03/13(月) 17:57:51.98ID:IkDDkkqX0もっとエラー位置が分かりやすいとは思うけどね。
main(
の内側に書ける要素がvimの文法チェック情報に登録されていて、
それに合致しない部分が指摘される、という仕掛けかな。
0284デフォルトの名無しさん (スップ Sd92-oWlJ)
2017/03/13(月) 18:42:23.61ID:dPy5EX8Fd言いたかったのはそういうことです
もう少しピンポイントにエラーメッセージ出せそうな気がするのですが
なかなかそうもいかないものなのだろうか
0285デフォルトの名無しさん (ドコグロ MMca-pmxy)
2017/03/13(月) 18:47:33.49ID:DDChi3YkM0286デフォルトの名無しさん (アウアウカー Sa7f-K8Mp)
2017/03/13(月) 20:33:47.62ID:RNfJ73Ada分かんなくて聞く人も周りにいなかったんだろ
0287toya (ワッチョイ a37b-u6wT)
2017/03/16(木) 20:49:48.72ID:yxjuKDF10標準ライブラリ以外だいたい書き終えました。
よろしかったら加筆・修正などお願いいたします。
https://ja.wikibooks.org/wiki/C%E8%A8%80%E8%AA%9E
「C言語」でググると10番目あたりに表示されます。
標準ライブラリも完成させたらもう少し上がるだろうか。
0288デフォルトの名無しさん (ワッチョイ 5319-v8EU)
2017/03/17(金) 08:58:22.22ID:Wd4E8hAa0今はvoid*だから必要ないよ。
情報古すぎない?
どんな大昔の本を参考にしているんだ?
0289デフォルトの名無しさん (ワッチョイ 73d4-9jmm)
2017/03/17(金) 09:01:26.88ID:ft8i32zD0あとは、補足事項があれば追記していく形式の方がいいかな。
C89/C90: http://read.pudn.com/downloads133/doc/565041/ANSI_ISO%2B9899-1990%2B[1].pdf
C99: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf
C11: http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf
ルールに加えて、解説やサンプルコードなんかを付けて教科書にしようとしたら、
上記のPDFの数倍の分量になってしまう。
0290デフォルトの名無しさん (ブーイモ MMdf-2dGQ)
2017/03/17(金) 09:16:22.96ID:f1lK9slqM自分は口先だけで申し訳ないんだが
せっかく書くならターゲット読者をもっとはっきり想定すべきかな
プログラミング自体の初心者はこれでは読んでもわからない
Cの初心者向けとしても、コード見ろと突き放さずに、コード解説を増やす、
図を豊富につける、練習問題と解答例ページをつけるとか
0291デフォルトの名無しさん (ワッチョイ 3fdf-8FG5)
2017/03/17(金) 10:23:44.22ID:AO+9LJwo0「配列とポインタ」という節がでたらめもいいとこ。
初心者が勝手に思い込む誤解をそのまま書いてあるぞ。
編集するならまっさらから書き直しが必要だ。
0292デフォルトの名無しさん (JP 0H57-2dGQ)
2017/03/17(金) 10:59:28.61ID:oAih26uCH批判はもっと具体的に
0293デフォルトの名無しさん (JP 0Hdf-tpgq)
2017/03/17(金) 11:02:37.17ID:sIrFKA5vHP1 = str1 + strlen(str1) - 1;
末尾を指すて書いてあるんですけど
最初のstr1は、どうして必要なんですか?
0294デフォルトの名無しさん (ワッチョイ 4385-RUHq)
2017/03/17(金) 11:05:17.08ID:IUwDlrSU0「配列の識別子」と「&配列の識別子[0]」は同じ
0295デフォルトの名無しさん (ワンミングク MM5f-qjY6)
2017/03/17(金) 11:15:06.58ID:sdsUxTdsMstrlen はオフセットだからベースアドレスを指定している
0296デフォルトの名無しさん (JP 0Hdf-tpgq)
2017/03/17(金) 11:41:08.46ID:sIrFKA5vHありがとうございます
0297デフォルトの名無しさん (ワッチョイ 3fdf-8FG5)
2017/03/17(金) 12:02:47.24ID:AO+9LJwo0最後の一行で「具体的に」言ってるんだが
0298デフォルトの名無しさん (JP 0H57-2dGQ)
2017/03/17(金) 12:15:35.09ID:oAih26uCHそれただのパワハラ上司と同じ
0299デフォルトの名無しさん (ワッチョイ 3fdf-8FG5)
2017/03/17(金) 12:20:56.72ID:AO+9LJwo0それただの使えない社員と同じ
逆に聞くがあれの全部を書き直さないとして
どこを残すべきだと思っている?
0300デフォルトの名無しさん (ワッチョイ 3fdf-8FG5)
2017/03/17(金) 12:25:14.65ID:AO+9LJwo0「1次元配列を指すポインタ」は配列ではなく単体を指すポインタの説明しかしていない
「多次元配列を指すポインタ」に多次元配列を指すポインタが全く出てこない
0301デフォルトの名無しさん (JP 0H57-2dGQ)
2017/03/17(金) 12:33:20.85ID:oAih26uCHおう、これを、具体的な批判というのだよ
0302デフォルトの名無しさん (アウアウウー Sa37-Rmg3)
2017/03/17(金) 12:37:20.54ID:zqIC+zida0303デフォルトの名無しさん (ワッチョイ 3fdf-8FG5)
2017/03/17(金) 12:49:42.29ID:AO+9LJwo0じゃあ int (*pa)[3][4]; は何を指すポインタと言うべきかね?
0304デフォルトの名無しさん (ワッチョイ 5319-v8EU)
2017/03/17(金) 12:57:25.64ID:Wd4E8hAa00305デフォルトの名無しさん (ドコグロ MMb7-yrln)
2017/03/17(金) 13:19:26.79ID:MT1dI4q4Mそれでもint main()なのに返り値を返さないのは気になる
(関数の章で返却値の説明でもそうなのはどうかと)
「文字と文字列」はわりとひどい。1バイト=半角文字じゃないし、
unicode に半角文字は無いと思いこんでるようだし。
90年代に独学でパソコン上でCを勉強した人のメモにみえる
0306デフォルトの名無しさん (ワッチョイ 3fdf-8FG5)
2017/03/17(金) 13:31:01.59ID:AO+9LJwo0C99では5.1.2.2.3 プログラム終了処理で「main 関数を終了する}に到達した場合,main 関数は,値0 を返す」となっているからmainのreturnなしはOK。
0307デフォルトの名無しさん (ワッチョイ 3fdf-8FG5)
2017/03/17(金) 13:39:02.86ID:AO+9LJwo0> *pi=1;//必ずエラーになる。
未定義に「必ず」はねえんだよヴォケ
0308デフォルトの名無しさん (JP 0Hdf-tpgq)
2017/03/17(金) 15:20:45.47ID:CLjQ7KbNHferrorとEOFでエラーかそうでないか調べてるだろ?
feofってなんの意味があるの?
0309デフォルトの名無しさん (JP 0Hdf-tpgq)
2017/03/17(金) 15:37:30.17ID:CLjQ7KbNH0310デフォルトの名無しさん (ワッチョイ f37b-QFag)
2017/03/17(金) 15:57:15.05ID:XponhHf700311デフォルトの名無しさん (ワッチョイ f3e8-2k4t)
2017/03/17(金) 17:29:22.78ID:QOMjQWO00寺山修司と三島由紀夫を合わせた感じ。
0312toya (ワッチョイ a37b-u6wT)
2017/03/17(金) 20:54:03.91ID:hFAn1F6/0「C言語/配列とポインタ」のページに関しては自分は正しいと思っていたので、
現在確認中です。とりあえず、テンプレート:正確性を付けておきました。
>>305
「C言語/文字と文字列」のページに、制御文字についても追記しました。
>>307
「C言語/ポインタ#NULLポインタ」の節について修正しました。
0313デフォルトの名無しさん (アウアウウー Sa37-Rmg3)
2017/03/17(金) 21:02:08.87ID:/pGD2dIkaintの配列(要素数4)を一つの要素とする配列(要素数3)へのポインタでしょ
ただの配列の配列を多次元配列と呼ぶのは違うでしょう
0314デフォルトの名無しさん (ワッチョイ bfda-8FG5)
2017/03/17(金) 21:08:39.12ID:sgxnbWig0ねえよヴォケ
int *pi;
pi = NULL;
printf("%p", pi); //エラーは生じない。生じるとしたらpanic状態だけ
0315toya (ワッチョイ a37b-u6wT)
2017/03/17(金) 21:17:55.46ID:hFAn1F6/0元の本では「OSが異常を検知して即座にプログラムを停止させてくれる」と書いていたのですが、
これを「OSがエラーを発生する場合もあるが」と記述したのは誤りなのでしょうか?
0316デフォルトの名無しさん (ワンミングク MM5f-qjY6)
2017/03/17(金) 21:25:57.94ID:sdsUxTdsM0317デフォルトの名無しさん (ワッチョイ bfda-8FG5)
2017/03/17(金) 21:31:52.99ID:sgxnbWig0誤りだよ、真っ黒、弁明の余地はまったくない
つーか、おまえやってみろよ
どこの世界であのコードをエラーにできるOSを見つけられたのか
読者が知りたいのはそこなんだよ
「元の本」なんか読者も読めばわかるんだよ
おまえの経験値を提供しろ、それ以外にあのサイトの存在意義は何だ?
0318デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/17(金) 21:50:59.67ID:8kMzXY9p0未定義なんだからどんな動作しても不思議じゃない
それが「OSがエラーを発生する」という動作なだけだな
0319デフォルトの名無しさん (ワッチョイ bf5b-2PX+)
2017/03/17(金) 21:54:22.50ID:9Couem/D0ともかくウインドウズでは理解できんよ
ATMも壊した記憶がある。
0320デフォルトの名無しさん (ワッチョイ bfda-8FG5)
2017/03/17(金) 21:54:27.04ID:sgxnbWig0314のどこに未定義があんだよ
おまえ頭湧いてんのか??
0321toya (ワッチョイ a37b-u6wT)
2017/03/17(金) 22:02:07.25ID:hFAn1F6/0// HelloWorld.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
//
#include "stdafx.h"
#include <stdio.h>
int main(void)
{
int i, *pi = NULL;
*pi = 1;//必ずエラーになる。
}
「Windows 10 Pro」、「Visual C++ 2015」で、
上のプログラムを実行すると、
「HelloWorld.exeは動作を停止しました
問題が発生したため、プログラムが正しく動作しなくなりました。プログラム
は閉じられ、解決策がある場合はWindowsから通知されます。」
と表示されプログラムが終了しますが、
これはエラーメッセージとは呼ばないのでしょうか?
0322デフォルトの名無しさん (ワッチョイ bf9f-spnv)
2017/03/17(金) 22:14:02.68ID:Wd9/xPhT0それはNULLポインタにアクセスしただけじゃなく
NULLポインタの指し示す領域にアクセスしようとしたからでは
0323デフォルトの名無しさん (ワッチョイ cf42-u6wT)
2017/03/17(金) 22:20:21.45ID:uumdUn730pi = NULL;
printf("%p", pi);
これでエラーを生じさせるのは難しいな
0324デフォルトの名無しさん (JP 0H77-Odst)
2017/03/17(金) 22:26:08.25ID:aH9iGnt2H0325デフォルトの名無しさん (ワッチョイ bf17-u6wT)
2017/03/17(金) 22:27:09.66ID:q3WLQEZV0それ変数の中身見てるだけでアクセスしてないじゃん
アクセスされるには*piにしないと
0326デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/17(金) 22:32:57.53ID:8kMzXY9p0NULLポインタにアクセスとは、普通NULLポインタをデリファレンスする事だが
>>314の後半のコードは知らん
0327デフォルトの名無しさん (ワッチョイ bf25-8FG5)
2017/03/18(土) 07:46:26.17ID:BHNX1/aY0最初に言っただろ「未定義に必ずはない」と
もう忘れたのか?
いいか、WindowsのSTOPダイアログはCの仕様じゃねえぞ
CではあくまでNULLを逆参照したら未定義の動作つってるだけだ
未定義の動作とは禁止に違反した場合にどのような保証もないことをいう
*** おまえの間違いは「必ず」という文言を入れたことだ ***
そしてその間違いに対する言い訳でもう1つ誤りを犯している
Cを教えるはずが論点がWindowsになってしまったことだ
0328デフォルトの名無しさん (ワッチョイ 03fd-12+v)
2017/03/18(土) 07:49:39.12ID:HdcIx2lR00329デフォルトの名無しさん (ワッチョイ 733c-tpgq)
2017/03/18(土) 07:58:49.65ID:+rfyF7Rl00330デフォルトの名無しさん (ワッチョイ bf25-8FG5)
2017/03/18(土) 08:10:46.63ID:BHNX1/aY0Cでは有効なオブジェクトは決して0x0000番地を含まない
もし0x0000番地を有効なオブジェクトに使うならば
それはもはやCではない、Cライクな別の言語だ
0331デフォルトの名無しさん (ワッチョイ a351-tpgq)
2017/03/18(土) 09:07:41.55ID:87n2zRpL0実際にVCがそう定義しているかどうかは知らんが、定義しているならその環境で「必ず」と言って
いいわけだし、一般論として「OSがエラーを出す場合もある」ってのも正しい。
0332デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/18(土) 09:17:10.66ID:1jN6Nl4i0NULL は 0 番地と決まってる訳じゃない
違う例はほとんどないけど
0333デフォルトの名無しさん (ワッチョイ 5319-v8EU)
2017/03/18(土) 09:20:30.72ID:d7Ob6ym/00334デフォルトの名無しさん (ワッチョイ bf25-8FG5)
2017/03/18(土) 10:03:11.26ID:BHNX1/aY0そういうのは未定義じゃなく処理系定義だ
おまえは「必ず」と言った
それを一般論だとか場合もあるにすり替えるなら
おまえ自身が誤りを認めることになる
0335デフォルトの名無しさん (ワッチョイ bf5b-2PX+)
2017/03/18(土) 11:33:55.64ID:WGf9t5s200336デフォルトの名無しさん (ワッチョイ bfcf-12+v)
2017/03/18(土) 11:37:10.99ID:KONZKirJ0http://kikakurui.com/x3/X3010-2003-01.html#206
( fprintf() の変換指定子について)
> p 実引数は,void へのポインタでなければならない。
...
> ... 実引数の型が対応する変換指定に対して正しくない場合,その動作は,未定義とする。
>>314 は %p に int* ( != void* )を渡しているので、動作は未定義。
0337デフォルトの名無しさん (ワッチョイ f36f-MCO2)
2017/03/18(土) 11:48:41.77ID:tuXgGGJ00アクセスできる。アドレス0x0000を指すポインタを使えばいい。
なお、WindowsやLinuxのプログラムがアドレス0x0000にアクセスできないのは
単にOSがガードしているってだけ。
>>330
んなことない
0338デフォルトの名無しさん (ワッチョイ 73d4-9jmm)
2017/03/18(土) 11:56:28.99ID:emLmHug10そのポインタの参照先がアドレス0番地であることは保証されてるんだっけ?
0339デフォルトの名無しさん (ワッチョイ 8fc9-tpgq)
2017/03/18(土) 12:02:21.90ID:frTBE7qo00340デフォルトの名無しさん (ワッチョイ a351-tpgq)
2017/03/18(土) 12:09:42.93ID:87n2zRpL0ただまぁ、NULLとの比較の扱いがやっかいだから普通は「0番地にアクセスする関数」で済ませるだろうな。
0341デフォルトの名無しさん (ブーイモ MM77-2dGQ)
2017/03/18(土) 12:29:29.54ID:nArQg9P4M悪魔だろ
0342デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/18(土) 12:51:42.82ID:1jN6Nl4i0それは嘉門達夫
0343デフォルトの名無しさん (JP 0H77-0F0t)
2017/03/18(土) 15:10:41.20ID:kZzz1eqTHポインタに対するNULLは何も指さないことをコンパイラに指示しているだけであって具体的なアドレスを意味しているものではない
つまりどこも指していない
0344デフォルトの名無しさん (ワッチョイ 836f-8FG5)
2017/03/18(土) 17:35:41.69ID:s2BlUuB40んなことある
6.3.2.3 ポインタ
空ポインタ定数をポインタ型に型変換した場合,その結果のポインタを空ポインタ(null pointer)と呼び,いかなるオブジェクト又は関数へのポインタと比較しても等しくないことを保証する。
0345デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/18(土) 18:43:55.02ID:8T4/OjG20NULLポインタリテラルとNULLポインタの違いを理解しよう
この二つがメモリ上で同一の表現である事を規格は求めていない
void *p = 0; // 正しい
void *p;
memset(&p, 0, sizeof p); // 間違い
0346デフォルトの名無しさん (ワッチョイ 836f-8FG5)
2017/03/18(土) 20:08:31.46ID:s2BlUuB40それは論点が違うのでこの騒動が収まったら相手してやる
逃げも隠れもしないからそれまで待ってろ
0347デフォルトの名無しさん (ワッチョイ 5319-v8EU)
2017/03/18(土) 21:11:59.62ID:d7Ob6ym/0char a;
T b[];
}
で、bの先頭アドレスは少なくとも2,4,8,16の倍数ではないです、
この構造体の実体が最大アラインメントの倍数のアドレスにいる限り
てことはアラインメントがそろわないからマクロTは1バイトのアラインメント
の型しか使えなくないですか?
0348toya (ワッチョイ a37b-u6wT)
2017/03/18(土) 22:05:18.85ID:tH3TahT+0読者に規格を読ませるのですか?
難易度高くないですかね。
>>290
コンピュータの一般的な知識については
別の教科書に書いて任せるのを考えていました。
解説、図、練習問題などは追加していきたいですが、
まずはこのスレで間違いだと指摘された部分を修正していきたいと思います。
>>302
配列の配列を便宜上多次元の配列と呼ぶ、
というように注釈を入れるのはどうでしょうか?
0349デフォルトの名無しさん (アウアウウー Sa37-Rmg3)
2017/03/18(土) 22:18:18.72ID:oJMthdocaどの層狙ってんだか
0350デフォルトの名無しさん (ワッチョイ c375-mbHe)
2017/03/18(土) 22:43:58.68ID:tkjBsxiU0規格に配列の配列を多次元配列と呼ぶって書いてあるのに?
0351デフォルトの名無しさん (ワッチョイ cf7b-vzQh)
2017/03/18(土) 22:51:30.21ID:STVlMw5Y0仮想関数 = 0;
キーワードを増やしたくないから、0 を使ったのだろう。
これがややこしさの原因
null pointer、\0 ヌル文字、"" 空文字列の、区別が分かりにくい
0352デフォルトの名無しさん (ドコグロ MM1f-CEB8)
2017/03/18(土) 22:53:56.20ID:LkwmWgnzMいやいや、規格書は読まなきゃ。
一番信頼出来る文書だよ。
0353デフォルトの名無しさん (ワッチョイ 33cb-8FG5)
2017/03/19(日) 06:48:40.61ID:TnjIuaQ20んなこたわかっている
328が0x0000番地というから同じ目線で話してやっただけのこと
0354デフォルトの名無しさん (ワッチョイ 73d4-9jmm)
2017/03/19(日) 08:05:10.25ID:kdMLqmW60その昔、先輩から
・C言語には多次元配列はない。
・多次元配列のように見えるものは配列の配列だ。
みたいに教えられた思い出があったり。手元にあるC++(Cじゃないが)の解説本にも
・1次元配列(ベクトル)は連続したメモリである
・多次元配列は「表現系」である
と、わざわざ記述あったりする。つまり、表現することはできるし、ゆえに型も存在するが。
その実体は、他の言語(例えばFortranとか)の多次元配列とは、何か違うんだぞ?!
と言っているようにも見える。何が違うのか良く分からんけど。
深く考えないで使った方がいいのかなあ
0355デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/19(日) 08:19:38.21ID:dbfovMwi0いいや、わかってない
>Cでは有効なオブジェクトは決して0x0000番地を含まない
>もし0x0000番地を有効なオブジェクトに使うならば
>それはもはやCではない、Cライクな別の言語だ
そのような処理系を作ることは規格上許されている
0356デフォルトの名無しさん (ワッチョイ f37b-c/YS)
2017/03/19(日) 08:36:21.90ID:4PgJANIM00357デフォルトの名無しさん (ワッチョイ 5319-v8EU)
2017/03/19(日) 08:40:06.10ID:/fHKNSq50a[x+N*y]をシンタックスシュガーでa[x,y]って書ける奴のことじゃない
配列の配列はa[x][y]でアクセスするやつで。
0358デフォルトの名無しさん (ワッチョイ a351-tpgq)
2017/03/19(日) 08:53:44.93ID:j2JD5hFe0そういうのは、アドレスを入れたらポインタが出てくる関数なんてのをライブラリとして用意する。
0359デフォルトの名無しさん (ワッチョイ 33cb-8FG5)
2017/03/19(日) 09:11:39.21ID:TnjIuaQ20許す? 禁止許可の話はしてねえぞ
もし作ったらそれは何だと書いただけだ
0360デフォルトの名無しさん (ワッチョイ 33cb-8FG5)
2017/03/19(日) 09:17:53.32ID:TnjIuaQ20企業の製品開発を禁止するかどうかって話にブレんな
0361デフォルトの名無しさん (ワッチョイ f36f-yrln)
2017/03/19(日) 09:34:58.64ID:cZ1Iduw300362デフォルトの名無しさん (ワッチョイ 837b-4OD8)
2017/03/19(日) 09:56:49.59ID:CdTi66AD0としたとき、pが0x0000以外を指す可能性はある
何故なら「値としての0」の内部表現が「全ビット0」とは限らないから
故にcalloc()はその仕様「全ビット0にする」によって忌避されるのだ
これが「0を代入したのと同じ結果になる」だったら皆歓迎しただろう
0363デフォルトの名無しさん (ワッチョイ 5319-v8EU)
2017/03/19(日) 10:07:18.04ID:/fHKNSq50安全なのはアドレス0ではなく
NULL用のメモリースペースを確保しておくことだね。
0364デフォルトの名無しさん (ワッチョイ 33cb-8FG5)
2017/03/19(日) 10:14:40.04ID:TnjIuaQ20どういう脈絡でそうなるんだよ
論破できないからって勝たせてくれはねえだろ
0365デフォルトの名無しさん (ワッチョイ f36f-MCO2)
2017/03/19(日) 10:24:58.00ID:cZ1Iduw30まだ分かってないのか
NULLポインタはアドレス0x0000を指すポインタではない。
NULLポインタをデリファレンスすることは未定義である。
しかしアドレス0x0000を指すポインタをデリファレンスすることは問題ない。
0366デフォルトの名無しさん (ワッチョイ 4385-bPJ5)
2017/03/19(日) 10:25:05.48ID:6ANDe7B10ポインタに代入されるときの0って文字は数字の0とは全く関係ないんだよ
0367デフォルトの名無しさん (ワッチョイ 33cb-8FG5)
2017/03/19(日) 10:30:07.62ID:TnjIuaQ20>>353
数字の0とか言ってるアフォはスルー
0368デフォルトの名無しさん (ワッチョイ 5319-v8EU)
2017/03/19(日) 10:32:21.33ID:/fHKNSq50事なんだけどね。
使い慣れないデリファレンスなんてことば使うから間違えるんだよ。
0369デフォルトの名無しさん (ワンミングク MM5f-qjY6)
2017/03/19(日) 10:39:04.36ID:xMsfh7w0M0370デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/19(日) 11:29:30.83ID:dbfovMwi0規格上許されてるんだから、Cのコンパイラに他ならない
こんな単純な事が理解できないのか?
0371デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/19(日) 11:40:29.25ID:dbfovMwi0>>328はお前よりは遥かに理解している
お前のような馬鹿を駆除しておかないと混乱の元だから、彼の疑問は暫く放置
0372デフォルトの名無しさん (ワッチョイ 33cb-8FG5)
2017/03/19(日) 14:14:52.15ID:TnjIuaQ20おまえさ、ずいぶん自信たっぷりに「許されている」て言うけど
それは具体的に規格票のどこでそうなっている?
0x0000番地については>>353で説明したわけだが、
それを聞いてまだ空ポインタを逆参照した結果が処理系定義だと言うのか?
未定義は「許さない」規定だぞ
おまえが「許している」と言うためには処理系定義が必要だ
さあ、どこに書いてある?
0373デフォルトの名無しさん (ワッチョイ a351-tpgq)
2017/03/19(日) 14:32:24.95ID:j2JD5hFe00374デフォルトの名無しさん (ワッチョイ 33cb-8FG5)
2017/03/19(日) 14:33:40.97ID:TnjIuaQ200375デフォルトの名無しさん (ワッチョイ bfcf-12+v)
2017/03/19(日) 14:47:12.52ID:eJrKZIBf0逆じゃないかな?
規格で「0x0000番地を有効なオブジェクトに使う」ことが禁止されて
いなければ>>330の言うようなことは成り立たないわけで、そのような
禁止事項を>>330が示す必要があるでしょ。
ここで空ポインタを逆参照した場合の話が出てくることから
「空ポインタ」と「0x0000番地」の区別がついてないのは間違いないって
わかったからもういいんだけど。
「未定義は「許さない」規定」というのも違う。
規格はなんら規定を課さないというだけで、処理系が独自に動作を
規定することはできる。
0376デフォルトの名無しさん (ワッチョイ 33cb-8FG5)
2017/03/19(日) 14:52:14.14ID:TnjIuaQ20規格がなんら規定を課さないのは未規定だハゲ
>>353をどうしても無視したいしつけーキチガイとじゃ話にならん
0377デフォルトの名無しさん (ワッチョイ bfcf-12+v)
2017/03/19(日) 15:03:00.06ID:eJrKZIBf0脊髄反射で相手を否定する前に確認しよう。
http://kikakurui.com/x3/X3010-2003-01.html#7
> 3.4.3 未定義の動作 ...この規格が何ら要求を課さないもの。
...
> ...翻訳時又はプログラム実行時に,文書化された,環境に特有な方法で
> 処理してもよい...
...
> 3.4.4 未規定の動作 この規格が,二つ以上の可能性を提供し,個々の場合に
> どの可能性を選択するかに関して何ら要求を課さない動作。
「空ポインタ」と「0x0000番地」をただの言い換えだと思ってるんだよね?
でも大方の人にとって「0x0000番地」は明確に意味が違うんだ。
話が合わないのはそのせいだよ。
http://www.kouno.jp/home/c_faq/c5.html#17
> Honeywell-Bullのメインフレームの中には、ビットパターン06000を (内部の)ヌルポインターとして使っているものもある。
0378デフォルトの名無しさん (ワッチョイ 33cb-8FG5)
2017/03/19(日) 15:17:56.93ID:TnjIuaQ20正しくないプログラム構成要素って書いてあるだろ
Cとは何かを規定している規格票の中で正しくないと書かれたプログラムはCか?
脊髄反射はおまえだろ、ちゃんと文脈よめってのドスカタン
「参考」には勝手にしろと書いてあるだけだぞ、わかるか外人
> 「空ポインタ」と「0x0000番地」をただの言い換えだと思ってるんだよね?
あー、おまえ>>353がそう見えるのか
外人つーか幻視の類じゃね?
キチガイつったのは差別用語だったな統合失調症の患者さん
0379デフォルトの名無しさん (ワッチョイ 33cb-8FG5)
2017/03/19(日) 15:19:57.68ID:TnjIuaQ20ハネウエルのマシンを触ったこともなく
リンク貼るだけのカスだからこそ
もっと身近にある0でないNULLの実装例に気付かないんだろうな
0380デフォルトの名無しさん (ワッチョイ 4385-n4DX)
2017/03/19(日) 15:33:43.87ID:6ANDe7B10もう一度どういう意味で書いたか謝ったら許してやるよ
0381デフォルトの名無しさん (ワッチョイ 33cb-8FG5)
2017/03/19(日) 15:40:36.44ID:TnjIuaQ20よっぽど>>353が困るということは判ったからそろそろ許してやろうか、こっちが
0382デフォルトの名無しさん (ワッチョイ 33cb-8FG5)
2017/03/19(日) 15:45:06.30ID:TnjIuaQ20自分の経験値でものを言ってない聞きかじりとじゃ話にならん
0383デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/19(日) 15:53:31.32ID:IinMJCLx0> 正しくないプログラム構成要素って書いてあるだろ
普通の理解力があればわかると思うが(規格の範囲では)正しくないプログラム要素のことな
> Cとは何かを規定している規格票の中で正しくないと書かれたプログラムはCか?
GCC とかの拡張機能を使ったプログラムもその意味では正しくないプログラム
それをCのソースじゃないと言うならそう言ってればいいと思う
0384デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/19(日) 15:54:35.31ID:IinMJCLx0> もっと身近にある0でないNULLの実装例に気付かないんだろうな
ほう、興味深いから是非教えてくださいよ
0385デフォルトの名無しさん (ワッチョイ bfcf-12+v)
2017/03/19(日) 15:56:03.87ID:eJrKZIBf0「正しくない」だけじゃなくて「可搬性がない若しくは正しくない」って書いてあるでしょ。
正直>>353からは何も読み取れないんだけど、
>>372で0x0000番地の話と空ポインタの話を絡めてるから区別できてないと思った。
区別できてるなら空ポインタの話を持ち出す必要が無いからね。
0386デフォルトの名無しさん (ワンミングク MM5f-qjY6)
2017/03/19(日) 15:59:01.21ID:xMsfh7w0M0387デフォルトの名無しさん (ワッチョイ 5319-v8EU)
2017/03/19(日) 16:03:39.41ID:/fHKNSq50に答えられる強者はいないか?
0388デフォルトの名無しさん (ワッチョイ 33cb-8FG5)
2017/03/19(日) 16:05:14.59ID:TnjIuaQ20ああ、おまえ規格とは何かが解ってないわけね
只で教えてやる筋合いはないから、そこで壊れたままでいろ
>>385
おまえは自分の主張が表現できず、人の話も読めてない
これ以上おまえと話すのは間違いなく徒労に終わるな
0389デフォルトの名無しさん (ワッチョイ 4385-n4DX)
2017/03/19(日) 16:11:34.27ID:6ANDe7B100390デフォルトの名無しさん (ワンミングク MM5f-qjY6)
2017/03/19(日) 16:18:35.61ID:xMsfh7w0Mstruct hack ってoffsetof を使った技法がある。
但し、規格上は動作する事は未保証
0391デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/19(日) 16:20:03.52ID:IinMJCLx0> 只で教えてやる筋合いはないから、そこで壊れたままでいろ
結局これかよ w
>>384 もスルーみたいだし
知ったかの自爆乙
0392デフォルトの名無しさん (ワッチョイ 5319-v8EU)
2017/03/19(日) 16:26:33.70ID:/fHKNSq50sizeofでパディングしてあるところまでの大きさになってました。
0393デフォルトの名無しさん (ワッチョイ 5319-v8EU)
2017/03/19(日) 16:28:23.54ID:/fHKNSq50ideoneが使えなかったからです。
パソコンのバグを治したら使えるようになったので確認できました。
0394デフォルトの名無しさん (ワッチョイ 33cb-8FG5)
2017/03/19(日) 16:37:15.63ID:TnjIuaQ20無知なやつには恥をかかすより教えないことが一番堪えるからなあw
0395デフォルトの名無しさん (ワッチョイ 8fc9-tpgq)
2017/03/19(日) 16:41:46.80ID:mGXfpPMY0牛乳で検索しても全然出てこなかったので助かった
0396デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/19(日) 16:47:45.42ID:IinMJCLx00397デフォルトの名無しさん (ワッチョイ 33cb-8FG5)
2017/03/19(日) 16:50:36.58ID:TnjIuaQ200398デフォルトの名無しさん (ワッチョイ bfcf-12+v)
2017/03/19(日) 16:59:35.63ID:eJrKZIBf00399デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/19(日) 17:02:14.20ID:dbfovMwi00400デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/19(日) 17:15:58.21ID:dbfovMwi0ID:TnjIuaQ20は矯正不可能な基地外のようなのでNG
>>328
0番地に意味のあるオブジェクトを置く必要がある処理系ではNULLポインタの内部表現を0以外にして
0番地は普通にアクセスするのが正しい実装
NULLポインタの内部表現が0のままだと
ポインタの比較で破綻する
0401デフォルトの名無しさん (ワッチョイ 33cb-8FG5)
2017/03/19(日) 17:16:08.26ID:TnjIuaQ200402デフォルトの名無しさん (ワッチョイ 33cb-8FG5)
2017/03/19(日) 17:19:06.51ID:TnjIuaQ20空想論の域を出られるやつ呼んでこい
おまえじゃ話にならん
0403デフォルトの名無しさん (ワッチョイ 5319-v8EU)
2017/03/19(日) 17:30:27.69ID:/fHKNSq50NULLはマクロだから0のアドレスを使う場合
自分で設定可能にしてあるんだろうな。
NULLの初期値はぜったアドレスの表せる数値のどれかを決めなければいけなくて
設定しないという選択肢はNOだからな。
0404デフォルトの名無しさん (ワッチョイ cf42-u6wT)
2017/03/19(日) 17:37:39.33ID:SiE28aj700番地に意味のあるデータを置けるというのは、
OSのサポートがあればと言うことなのかな?
C言語としては、置かない事を推奨するのだろうか?
0405デフォルトの名無しさん (ワッチョイ bfcf-12+v)
2017/03/19(日) 17:39:00.94ID:eJrKZIBf0NULLは自分で設定可能にするためのマクロじゃないよ。
http://www.kouno.jp/home/c_faq/c5.html#5
0406デフォルトの名無しさん (ワッチョイ 33cb-8FG5)
2017/03/19(日) 17:47:25.42ID:TnjIuaQ20# 俺は夕飯の支度をせにゃならん
# おまえら高齢童貞と違い妻子を背負ってるんでな
0407デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/19(日) 18:04:07.73ID:IinMJCLx0別に破綻なんてしないでしょ
0 番地をアクセスすると言うことはそこに何らかの情報があることを知っての上でやってる話だからそもそも null チェックなんてする必要がない
0408デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/19(日) 18:16:16.30ID:dbfovMwi0メモリ配置はOSの仕事
NULLポインタの内部表現はコンパイラが決める事
0409デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/19(日) 18:17:16.39ID:dbfovMwi0頭悪いぞ 100年ROMってろ
0410デフォルトの名無しさん (ワッチョイ cf42-u6wT)
2017/03/19(日) 18:26:44.71ID:SiE28aj700411デフォルトの名無しさん (ワッチョイ 733c-tpgq)
2017/03/19(日) 18:28:57.82ID:8lmCIKta0アドレス0 を指す場合にはコンパイラの方言の補助によってなされてた
ボーランドCも同じく アドレス0 を指してなかった
(さらに そこはNULLポインターだぜ って文字並びが入ってて、ランタイムで書き換えチェックしてたような・・・
0412デフォルトの名無しさん (ワッチョイ 5319-v8EU)
2017/03/19(日) 18:49:39.06ID:/fHKNSq50事になってるだろ。
アドレス0にデータがあるという時点でもうコンパイラーがそこにアクセスしていいんだよ
ってクライアントにコミットしてるというコンプライアンスなんだよ。
0413デフォルトの名無しさん (ワッチョイ 537b-hTwP)
2017/03/19(日) 18:59:29.81ID:4KDyw5U706.3.2.3
値0をもつ整数定数式又はその定数式を型void *にキャストした式を,空ポインタ定数(null?pointer constant)(注)と呼ぶ。
空ポインタ定数をポインタ型に型変換した場合,その結果のポインタを空ポインタ(null?pointer)と呼び,いかなる
オブジェクト又は関数へのポインタと比較しても等しくないことを保証する。
(注)空ポインタ定数としてマクロ?NULL?が<stddef.h>(及び他のヘッダ)で定義されている。
0414デフォルトの名無しさん (ワッチョイ 33cb-8FG5)
2017/03/19(日) 19:03:52.69ID:TnjIuaQ20指していたよヴォケ
じゃあお前はNTの環境で仮想アドレスが0番地でも実アドレスが0番地以外に
マッピングされてるのを0番地を指していないとかほざくのか
0415デフォルトの名無しさん (ワッチョイ bfa9-JN/B)
2017/03/19(日) 19:08:30.87ID:GmJCDs4Q00416デフォルトの名無しさん (ワッチョイ 33cb-8FG5)
2017/03/19(日) 19:14:09.32ID:TnjIuaQ200417デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/19(日) 19:14:50.90ID:IinMJCLx0そんなことしか書けないならレスするなよ w
0418デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/19(日) 19:16:10.98ID:dbfovMwi0NULLポインタの内部表現として0番地を使う実装が多いと言うこと
レス番飛んでるな、基地外がまだ暴れてるのか
0419デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/19(日) 19:39:08.68ID:dbfovMwi00番地に置いたオブジェクトを標準関数に渡すとか、全然思いつかないわけ?
お前頭悪すぎてこの業界向いてない
ホームレスにでも転職しろ
0420デフォルトの名無しさん (ワッチョイ d3a1-CANY)
2017/03/19(日) 19:54:10.06ID:g8OM3BRu0インド人もびっくり
0421デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/19(日) 19:59:23.95ID:IinMJCLx0スモールモデルの話をするなら
オフセットの話なのかセグメント:オフセットの話なのかを明確にしてくれ
ちなみに実アドレスガーとか言ってるアホは無視でいいから w
0422デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/19(日) 20:00:36.81ID:IinMJCLx0思い付かない
あると言うなら具体的に書いてみそ
0423デフォルトの名無しさん (ワッチョイ 33cb-8FG5)
2017/03/19(日) 20:09:28.87ID:TnjIuaQ20ああ「許されている」を突っ込まれて逃げたバカかw
0424デフォルトの名無しさん (ワッチョイ 733c-tpgq)
2017/03/19(日) 20:23:37.44ID:8lmCIKta0あえてアヤフヤにしてた箇所ー
スモールモデルの操作するポインタはオフセットだけなのに
>>411 文中のアドレス0 と表現してるのは セグメント:オフセットのペアで
そもそも取り扱いの空間が違うという話
0425デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/19(日) 20:34:21.29ID:dbfovMwi00番地に文字列を置く
ホームレスに転職しろ バカ
0426デフォルトの名無しさん (ワッチョイ 33cb-8FG5)
2017/03/19(日) 20:37:45.19ID:TnjIuaQ20smallどころかtinyでさえ絶対の鉄則だぜ
0427デフォルトの名無しさん (ワッチョイ 33cb-8FG5)
2017/03/19(日) 20:38:34.90ID:TnjIuaQ20空想論を不特定多数に喚き散らしてる
おまえこそホームレスさながら
0428デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/19(日) 20:49:54.17ID:IinMJCLx0さすがにそれは実アドレスガーって騒いでる奴と同類な気がするけど...
0429デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/19(日) 20:54:58.93ID:IinMJCLx0で、どの標準関数に渡すんだ?
いちいちレスするのが面倒だからそれぐらいは書いてくれよ
自分で
> 標準関数に渡すとか
って書いてあるんだからさ
それともホームレスだとそれもできないのかい? w
0430デフォルトの名無しさん (ワッチョイ 239a-y740)
2017/03/19(日) 21:50:25.57ID:SRd22OVa00431デフォルトの名無しさん (ワッチョイ bf5b-2PX+)
2017/03/19(日) 22:00:04.38ID:uEahj1PR00番地にアクセスして暴走なんてのは昔はよくあった。
それこそプログラマー任せのC言語だ。
それがC言語では無いと言うならば、一体それは何だ。
0432デフォルトの名無しさん (ワッチョイ cf42-u6wT)
2017/03/19(日) 22:11:56.60ID:SiE28aj70>0番地は使えるだろう。OSで使えないようにしてるだけだ。
釣りですよね?
0433デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/19(日) 22:18:36.29ID:dbfovMwi0なんでも良いが、例えばfopen
本当に頭悪いんだな
今すぐホームレスに転職しろ
0434デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/19(日) 22:20:37.55ID:dbfovMwi00番地にメモリが割り当てられてれば使える
0435デフォルトの名無しさん (ワッチョイ cf7b-vzQh)
2017/03/19(日) 22:27:10.76ID:MM3vmS8Q0仮想関数 = 存在しない;
存在しないを表す、キーワードを増やしたくないから、0 を使ったのだろう。
これがややこしさの原因
ポインター = 0;
仮想関数 = 0;
数値リテラルの、0 じゃない!
絶対にあり得ない表現だから、これを使っても問題ないだろうという、単なる暗号
まあ、古い言語だから、あちこちおかしくて、一般人には理解できない
0436デフォルトの名無しさん (ワッチョイ a351-tpgq)
2017/03/19(日) 22:49:48.29ID:j2JD5hFe0ポインタは整数型と相互にキャストでき、NULLポインタと整数の0が対応すると定められている。
だからそれは数値リテラルの0で正しい。そもそもポインタのリテラルってないしな。
0437デフォルトの名無しさん (ワッチョイ bf85-doFW)
2017/03/19(日) 23:21:38.87ID:xzxt/RKX0アセンブラコードを見るしかないってこと?
0438デフォルトの名無しさん (ワッチョイ f36f-MCO2)
2017/03/20(月) 00:56:15.53ID:UNA38bnS0NULLポインタのアドレスってなんだ。NULLポインタはどこも指してない
0439デフォルトの名無しさん (ワッチョイ bfa9-JN/B)
2017/03/20(月) 03:36:45.06ID:j9IxIyz40ポインタのアドレスを(char *)にキャストして
ごちゃごちゃやるとかすればいいんじゃね。
もっとも規格に則ったやり方かどうかは知らんがね。
0440デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/20(月) 06:36:17.55ID:LcNjV7jZ0null が 0 番地の環境ってことは 0 番地の領域は配列や malloc で取得した領域じゃないってことだよな
そんな領域に文字列置いて fopen に渡す?
ホームレスの発想って面白いな w
0441デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/20(月) 06:37:49.85ID:LcNjV7jZ0コンパイラーの仕様書とかソースコードを見るとかでもいいかもな
>>438
アスペかよ w
0442デフォルトの名無しさん (ワッチョイ 537b-hTwP)
2017/03/20(月) 07:18:42.66ID:u3I2WX6306.3.2.3
値0をもつ整数定数式又はその定数式を型void *にキャストした式を,空ポインタ定数(null pointer constant)(注)と呼ぶ。
空ポインタ定数をポインタ型に型変換した場合,その結果のポインタを空ポインタ(null pointer)と呼び,
いかなるオブジェクト又は関数へのポインタと比較しても等しくないことを保証する。
(注)空ポインタ定数としてマクロ NULL が<stddef.h>(及び他のヘッダ)で定義されている。
0443デフォルトの名無しさん (ワッチョイ 73d4-9jmm)
2017/03/20(月) 07:27:21.79ID:29VmeOvG0どこも指してない、というのはインジケータとしての意味に過ぎず、解釈としては間違いか
0444デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/20(月) 08:37:58.12ID:03OBGWSB0>null が 0 番地の環境ってことは
そんな事一言も言っていない
お前バカ過ぎる本当にこの業界向いてない、ホームレスに転職しろ今すぐだ
0445デフォルトの名無しさん (ワッチョイ 839b-8FG5)
2017/03/20(月) 08:52:54.28ID:I/L1t1T+00446デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/20(月) 09:04:12.11ID:LcNjV7jZ0現実的にどこも指さないポインタって作れないからな
保証されてるのは規格の範疇で作成したオブジェクトのアドレスと重ならないアドレスと言うことだけ
規格上は単一の値である必要もなかったと思う
0447デフォルトの名無しさん (ワッチョイ 839b-8FG5)
2017/03/20(月) 09:07:56.29ID:I/L1t1T+0空ポインタ同士を比較したら等しくなければならないんだから
0448デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/20(月) 09:10:36.34ID:LcNjV7jZ0まあそう言ってやるなよ
自分で何を書いてかも怪しいみたいだし w
0449デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/20(月) 09:11:28.86ID:LcNjV7jZ0> 空ポインタ同士を比較したら等しくなければならないんだから
それ規格にあったっけ?
0450デフォルトの名無しさん (ワッチョイ 537b-c/YS)
2017/03/20(月) 09:23:06.95ID:u3I2WX630失敗しているのにどこかのアドレスを指しているのか?
NULLはあくまで空ポインタ定数であってアドレスではない
0451デフォルトの名無しさん (ワッチョイ 73d4-9jmm)
2017/03/20(月) 09:24:39.36ID:29VmeOvG00452デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/20(月) 09:31:53.69ID:03OBGWSB0バカは群れたがるんだな
>>447
>いや単一の値である必要はあるでしょ
>空ポインタ同士を比較したら等しくなければならないんだから
バカ過ぎる
0453デフォルトの名無しさん (ワッチョイ a351-tpgq)
2017/03/20(月) 09:34:19.17ID:MXp+WHcu06.3.2.2 void
4 Conversion of a null pointer to another pointer type yields a null pointer of that type.
Any two null pointers shall compare equal.
SQLのような3値論理のNULLとは違う。
0454デフォルトの名無しさん (ワッチョイ a351-tpgq)
2017/03/20(月) 09:43:07.50ID:MXp+WHcu06.3.2.3 Pointers
0455デフォルトの名無しさん (ドコグロ MM1f-3fK7)
2017/03/20(月) 09:56:11.13ID:6RAbChbAMああ、あるのか
教えてくれてありがとう
0456デフォルトの名無しさん (ワッチョイ 5319-v8EU)
2017/03/20(月) 10:03:40.62ID:hOjZeIpo0法律を全部守ってたら生きていけないのと同じで、規格も全部守ってたら
プログラム出来ない。
0457デフォルトの名無しさん (ワッチョイ 537b-gO1F)
2017/03/20(月) 10:08:01.76ID:+YHRRlIg0ウソつくなよ
0458デフォルトの名無しさん (ワンミングク MM5f-qjY6)
2017/03/20(月) 10:24:31.38ID:8700tGFOM0459デフォルトの名無しさん (ワッチョイ 03fd-12+v)
2017/03/20(月) 11:11:55.38ID:np9p/Hhl0int *p;
...
if(p==NULL) {...};
とやらないとダメ?
if(!p){...};
はバグ?
0460デフォルトの名無しさん (ワッチョイ 839b-8FG5)
2017/03/20(月) 11:16:41.34ID:I/L1t1T+0ねえ、今どんな気持ち?
0461デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/20(月) 11:31:05.55ID:03OBGWSB0> 空ポインタ同士を比較したら等しくなければならない
から
> いや単一の値である必要はあるでしょ
これを導いちゃう頭の悪さは救いようがない
お前もホームレスに転職しろ
ねえ、勝ち誇って
>>460
>>>452
>ねえ、今どんな気持ち?
とか言ってたけど、今、どんな気持ち?
0462デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/20(月) 11:41:59.43ID:03OBGWSB0バカに理解し易いように極端な環境を設定しよう
32ビットでNULLポインタの内部表現を「最上位ビットが1である」とする
この定義では通りのNULLポインタが存在して
ポインタの比較は
(a & b & 0x80000000) || (a == b)
単一の値である必要は無いね
0463デフォルトの名無しさん (ワッチョイ ef13-nbRU)
2017/03/20(月) 11:54:17.03ID:osGsQQ0u0おいおい,その struct hack て,ついちょっと前にお題になった
flexible array member だし,C99 で合法になったんじゃない?
0464デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/20(月) 11:55:14.34ID:03OBGWSB0> (a & b & 0x80000000) || (a == b)
はアドレス演算をC言語風にかいただけだからね
バカにつまらないあげ足取られないように、念のため
>>460
ねえ、今どんな気持ち?
0465デフォルトの名無しさん (ワッチョイ ef13-nbRU)
2017/03/20(月) 11:55:15.89ID:osGsQQ0u0NULL なんか使うな
0466デフォルトの名無しさん (ワッチョイ 537b-hTwP)
2017/03/20(月) 11:58:13.93ID:u3I2WX630式の中で空ポインタ定数の評価結果は偽(値0ではあるがアドレス0番地を意味するものではないことに注意)
となるからその使い方で問題ない
0467デフォルトの名無しさん (ドコグロ MM17-CEB8)
2017/03/20(月) 12:18:10.91ID:MfyRzqQ9M0x80000000 以降を使えない変な環境作るなよ。
0468デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/20(月) 12:21:13.83ID:03OBGWSB0バカに理解し易い極端な環境っただろ
バカの理解力のなさは想像を絶するからな
>>460
ねえ、今どんな気持ち?
0469デフォルトの名無しさん (ドコグロ MM17-CEB8)
2017/03/20(月) 12:40:06.63ID:MfyRzqQ9Mだから、それだとヌルポ=0と同じだろ。
0470デフォルトの名無しさん (ワッチョイ a351-tpgq)
2017/03/20(月) 13:03:35.92ID:MXp+WHcu0>>446
>規格上は単一の値である必要もなかったと思う
てことだから内部表現の話をしているわけじゃないだろう。
仮にNULLに異なる複数の内部表現が存在していたとしても、規格上はプログラム側から
その違いを検知することはできない。
0471デフォルトの名無しさん (ワッチョイ 5319-v8EU)
2017/03/20(月) 13:20:03.85ID:hOjZeIpo0補助メモリーを搭載していてそのメモリー空間にアクセスするには
NULLという特殊なメモリーアドレスを使用する可能性も否定できない。
0472デフォルトの名無しさん (ワッチョイ f36f-MCO2)
2017/03/20(月) 13:43:07.64ID:UNA38bnS0CもCPUもよく分かってなさそうだけど、とりあえず上の変なのを真に受けちゃいけない。
補助メモリとか持ち出さなくても0番地はアクセスできる。
但しNULLがヌルポインタのことなら、NULL経由ではアクセスできない
0473デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/20(月) 13:45:18.75ID:LcNjV7jZ0それ equal じゃないだろ...
0474デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/20(月) 13:57:08.57ID:03OBGWSB0ホームレスは引っ込んでろ
0475デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/20(月) 14:07:41.46ID:LcNjV7jZ0ねえ、今どんな気持ち? w
0476デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/20(月) 14:17:01.77ID:03OBGWSB0>>449のように基本的な事知らないバカが絡んで来て鬱陶しいから、早くホームレスに転職してこの板から去って欲しいと言う気持ち
0番地にオブジェクト置く一例も理解できないんだろ
バカ過ぎて話にならないからとっとと転職しろよホームレスに
0477デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/20(月) 14:38:04.87ID:LcNjV7jZ00478デフォルトの名無しさん (ワッチョイ 2352-tW1y)
2017/03/20(月) 14:38:50.57ID:JgeJM1UH0暴言系キーワードが多いのか…
また触っちゃいけない人が暴れているのか…
0479デフォルトの名無しさん (ワッチョイ 537b-gO1F)
2017/03/20(月) 14:42:14.62ID:+YHRRlIg0内部表現みたいなら
void* nullptr=0;
char raw[sizeof(nullptr)];
memcpy(raw,&nullptr,sizeof(nullptr));
とか、比較はmemcmpで出来るでしょ
0480デフォルトの名無しさん (アウアウカー Sa57-RXeS)
2017/03/20(月) 15:05:43.66ID:gHpTyHSqaそれは言語規格上の空ポインタの内部表現
処理系依存のNULLと一致するとは限らない
0481デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/20(月) 15:12:43.22ID:03OBGWSB0バカに理解できる典型例を示されて↓こう言う反論しかできないホームレスに言ってやれ
ホームレス転職仲間のID:I/L1t1T+0は逃亡したようだけど、お前ホームレスにすら転職できずにしがみついてんのか? w
440 デフォルトの名無しさん (ワッチョイ bf3c-3fK7)[sage] 2017/03/20(月) 06:36:17.55 ID:LcNjV7jZ0
>>433
null が 0 番地の環境ってことは 0 番地の領域は配列や malloc で取得した領域じゃないってことだよな
そんな領域に文字列置いて fopen に渡す?
ホームレスの発想って面白いな w
0482デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/20(月) 15:20:55.40ID:03OBGWSB0この文脈で迂闊に「NULL」と使っちゃう軽率なレスは放置推奨
> The macros are
> NULL
> which expands to an implementation-defined null pointer constant
なので
> 仮にNULLに異なる複数の内部表現が存在していたとしても、
は意味不明
0483デフォルトの名無しさん (ワッチョイ 5319-v8EU)
2017/03/20(月) 15:30:30.19ID:hOjZeIpo0NULLリテラルというものが存在して
NULLは存在しないとしないわけは
NULLをアドレスとして使いたいからだろ。
すなわちNULLがアドレスであることに意味がある。
0484デフォルトの名無しさん (ドコグロ MM1f-3fK7)
2017/03/20(月) 15:53:42.44ID:WHkWYxkrMequal に触れられたくなくて必死だな
0485デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/20(月) 16:11:16.20ID:03OBGWSB0バーカ 構って欲しけりゃ
>>440の方が先だから、そっちの弁明先にしろ
0486デフォルトの名無しさん (ワッチョイ f35b-tpgq)
2017/03/20(月) 16:26:02.90ID:5J3+8zMD0編集日時から、対象は「ポインタ」「配列とポインタ」だし。
ざっくり見たところ確かにいろいろ突っ込みどころが多すぎるが、一つずつやるしかない。
そこでヌルポの記述を抜き出してみる。
> NULLポインタ[編集]
> NULLポインタ(ナルポインタ、ヌルポインタ、空ポインタ)とは、
> 何も指しておらず、有効などんなポインタと比較しても等しくならないことが保証されているポインタのことである。
> そのため、返却値にポインタをとる関数の異常時の返却値として用いたり、
> 連結リストで末尾のデータで次の要素がないことを示すために使われたりする。
> なお、NULLポインタを経由して参照した場合、OSが異常を検知して即座にプログラムを停止させてくれることもあるが、
> そうでない環境も存在するので注意が必要である。 [2]
> NULLポインタの使用例として、 fopen関数はオープン操作に失敗した場合、空ポインタを返す。
> 詳細はC言語/標準ライブラリ/入出力#fopen関数を参照せよ。
うむ、全部書き直せと言いたくなるのは分かる。
そこで、俺が全部書き直してみよう。
NULLポインタ(ヌルポインタ)とは、
何も指していないことを意味する値が入ったポインタである。
有効なポインタとの比較は、等しくないことが保証されている。
ヌルポインタ同士の比較は、等しいことが推奨されている。(>>453)
ヌルポインタ自身の真偽は、偽であることが保証されている。(>>466)
これらの仕様等に簡便に整合するため、多くの処理系では0が割り当てられている。
ポインタを返す関数呼び出しが失敗した場合、ヌルポインタを返すことが多い。(fopenやmalloc)
これは、成功/失敗の判定が容易であり、また、バグ等でその領域を参照した場合にも、
メモリ保護が行われている一般のOS(Windows等)上ならエラーが検出されるからである。
安価の場所には、仕様書の該当項目へのリンクよろしくってことで。
0487デフォルトの名無しさん (ワッチョイ 73d4-9jmm)
2017/03/20(月) 16:32:17.26ID:29VmeOvG0>ヌルポインタ同士の比較は、等しいことが推奨されている。>>453
その shall は,ほとんど話者の意志,すなわち規格による強制を示している,やわらかくする必要はない
ヌルポインタ同士の比較は等しい,として十分
0489デフォルトの名無しさん (ワッチョイ 839b-8FG5)
2017/03/20(月) 16:42:10.56ID:I/L1t1T+0適当がいい加減だと思ってるやつと同じだ
おーいバカ、おまえ「歪み」って何と読む?
0490デフォルトの名無しさん (ワッチョイ f35b-tpgq)
2017/03/20(月) 17:02:53.83ID:5J3+8zMD0やたら「前橋和弥著」が多くて臭いってやつか?
だったらここ書き換えてしまえば脚注から剥がせるんだから踏み絵になるだろ。
>>488
まあ確かに規格準拠してないケースは無視していいな。では以下か。
(変更無しの場所は> を付けてる)
> NULLポインタ(ヌルポインタ)とは、
> 何も指していないことを意味する値が入ったポインタである。
有効なポインタとの比較は、常に等しくない。
ヌルポインタ同士の比較は、常に等しい。(>>453)
ヌルポインタ自身の真偽は、常に偽である。(>>466)
> これらの仕様等に簡便に整合するため、多くの処理系では0が割り当てられている。
> ポインタを返す関数呼び出しが失敗した場合、ヌルポインタを返すことが多い。(fopenやmalloc)
> これは、成功/失敗の判定が容易であり、また、バグ等でその領域を参照した場合にも、
> メモリ保護が行われている一般のOS(Windows等)上ならエラーが検出されるからである。
>>489
いちいち噛み付くなよめんどくせー奴だな。
0491デフォルトの名無しさん (ワッチョイ 839b-8FG5)
2017/03/20(月) 17:12:43.72ID:I/L1t1T+00492デフォルトの名無しさん (ワッチョイ f35b-tpgq)
2017/03/20(月) 17:16:08.32ID:5J3+8zMD0ひずみ←理系
ゆがみ←文系
とかなの?
0493デフォルトの名無しさん (ワッチョイ f35b-tpgq)
2017/03/20(月) 17:19:41.56ID:5J3+8zMD0しかし、関係ねーなこれ。
0494デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/20(月) 17:56:48.31ID:03OBGWSB0ねえ、今どんな気持ち?
0495デフォルトの名無しさん (ワッチョイ 839b-8FG5)
2017/03/20(月) 18:04:23.35ID:I/L1t1T+00496デフォルトの名無しさん (ワッチョイ bfa9-JN/B)
2017/03/20(月) 18:06:03.09ID:j9IxIyz400497デフォルトの名無しさん (ワッチョイ 839b-8FG5)
2017/03/20(月) 18:12:02.55ID:I/L1t1T+00498デフォルトの名無しさん (ドコグロ MM1f-3fK7)
2017/03/20(月) 18:13:13.31ID:WHkWYxkrM図星突かれてアイタタタってか ww
0499デフォルトの名無しさん (ワッチョイ cf9d-aEwW)
2017/03/20(月) 18:25:09.53ID:N/1+9uyT00500デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/20(月) 20:19:21.07ID:03OBGWSB0> 有効なポインタとの比較は、常に等しくない。
ねえ、今どんな気持ち?
0501デフォルトの名無しさん (ワッチョイ 839b-8FG5)
2017/03/20(月) 20:30:48.39ID:I/L1t1T+00502デフォルトの名無しさん (ワッチョイ bf3c-3fK7)
2017/03/20(月) 20:39:01.24ID:LcNjV7jZ0>>484
0503片山博文MZ ◆T6xkBnTXz7B0 (スププ Sddf-W8JT)
2017/03/20(月) 20:48:24.35ID:/NLNF+jbd0504デフォルトの名無しさん (ワッチョイ bf3c-5NuA)
2017/03/20(月) 20:50:53.21ID:QillsqV800505デフォルトの名無しさん (アウアウカー Sa57-UZwX)
2017/03/20(月) 20:55:06.45ID:cWwQvKi8aだ
らねえ
0506デフォルトの名無しさん (ドコグロ MM17-CEB8)
2017/03/20(月) 21:04:45.13ID:MfyRzqQ9M0507デフォルトの名無しさん (ワッチョイ bf5b-2PX+)
2017/03/20(月) 21:37:47.15ID:yZQWbF0t00508デフォルトの名無しさん (ワッチョイ 839b-8FG5)
2017/03/20(月) 21:54:25.12ID:I/L1t1T+0できることとやっていいことの違いだよ
大人の分別ともいう
製造物責任が法律的なことってくらいはおまえも解るだろうけど
じゃあ規格って何だってあたりからハチャメチャになってやがる
0509デフォルトの名無しさん (ワッチョイ bfcf-12+v)
2017/03/20(月) 21:58:38.49ID:6okaUTo500510デフォルトの名無しさん (ワッチョイ 839b-8FG5)
2017/03/20(月) 22:14:26.84ID:I/L1t1T+00511デフォルトの名無しさん (ワッチョイ 537b-gO1F)
2017/03/20(月) 22:16:16.44ID:+YHRRlIg00番地のメモリを参照しにいくコード自体は環境によっては合法nullポインタが0以外の内部表現の場合は0番地にデータを割り当てる事も出来るだろう。ただし、整数0をポインタに入れるとnullポインタになってしまうので注意
これだけの話なのになんでグダグダ続いてんの?
0512デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/20(月) 22:49:00.68ID:03OBGWSB0> 有効なポインタとの比較は、常に等しくない。
ねえ、今どんな気持ち?
0513デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/20(月) 22:50:15.45ID:03OBGWSB0ねえ、今どんな気持ち?
0514デフォルトの名無しさん (ワッチョイ a351-tpgq)
2017/03/20(月) 22:59:33.93ID:MXp+WHcu00515デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/20(月) 23:19:17.62ID:03OBGWSB0>C言語でnullポインタをdereferenceするのは違法。コンパイラによってその後のコード含めて抹消される可能性すらある。
いや、コード削除しちゃダメだろ、正しく「未定義動作」すべき
0516デフォルトの名無しさん (ワッチョイ 537b-gO1F)
2017/03/20(月) 23:24:48.71ID:+YHRRlIg0未定義動作だから何もしない含めて何がおきてもいい。
”未定義動作 はタイムトラベルを引き起こす”でググれ
0517デフォルトの名無しさん (ドコグロ MM1f-3fK7)
2017/03/20(月) 23:26:32.54ID:oLSEmtobM>>484
バカの必死ループ
0518デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/20(月) 23:39:34.50ID:03OBGWSB0> 有効なポインタとの比較は、常に等しくない。
ねえ、今どんな気持ち?
0519デフォルトの名無しさん (ワッチョイ cf42-u6wT)
2017/03/20(月) 23:51:40.94ID:1OeZAfgS00520デフォルトの名無しさん (ワッチョイ cf42-tpgq)
2017/03/20(月) 23:58:21.83ID:GWfrNwZR00521デフォルトの名無しさん (ドコグロ MM1f-3fK7)
2017/03/21(火) 00:08:27.12ID:hvONl54jM0522デフォルトの名無しさん (ワッチョイ 337b-7mwY)
2017/03/21(火) 00:37:43.24ID:/+jzi6Fk0読んだが「全てのCプログラマが未定義な振る舞いについて知っておくべきこと」の方が良いね
0523toya (ワッチョイ a37b-u6wT)
2017/03/21(火) 01:54:57.76ID:Vm2G+Ucw0ごめん、私にはついていけそうにないです。
0524デフォルトの名無しさん (ワッチョイ 33e6-8FG5)
2017/03/21(火) 02:53:37.31ID:+DL1LwCN0undefined behaviorというISO/IEC9899用語をJISではこう訳している
0525デフォルトの名無しさん (ワッチョイ 534f-v8EU)
2017/03/21(火) 08:10:28.70ID:bH1u/9cj0新しく定義した部分で既存の定義を改変するようなことをしてもいいよってことだよな。
タイムマシーンはそれを悪意のあるように話を故意に捻じ曲げて
未定義=悪い動作をすることと思想を植え付けたいみたいだな
0526デフォルトの名無しさん (ワッチョイ 5375-gO1F)
2017/03/21(火) 08:27:43.61ID:3WUWYr7R0何言ってんのか解んねえけど、プログラマーは未定義動作をするコードを書いてはならない。それ以上でもいかでもない。
0527デフォルトの名無しさん (ワッチョイ 534f-v8EU)
2017/03/21(火) 08:40:29.97ID:bH1u/9cj0コンパイラーの実装によっては未定義動作がクラッシュするとか
間違った動作をするかもしれないと
定義されてるだけで、未定義なわけではない。
0528デフォルトの名無しさん (ワッチョイ 5375-gO1F)
2017/03/21(火) 08:43:03.73ID:3WUWYr7R0またまた何言ってんのか解んねえけど、コンパイラによって定義が変わる部分は処理系定義。
未定義動作は文字通り未定義
0529デフォルトの名無しさん (ワッチョイ 534f-v8EU)
2017/03/21(火) 08:45:51.54ID:bH1u/9cj0コンパイラーが独自に定義していいってことだろ。
良い方向に定義するなら大歓迎。使わないなんてもったいない。
0530デフォルトの名無しさん (ワッチョイ 5375-gO1F)
2017/03/21(火) 09:12:14.39ID:3WUWYr7R00531デフォルトの名無しさん (ワッチョイ 534f-v8EU)
2017/03/21(火) 09:21:56.24ID:bH1u/9cj00532デフォルトの名無しさん (ワッチョイ 33e6-8FG5)
2017/03/21(火) 10:43:52.29ID:+DL1LwCN0それは未規定だタコ助
未規定のうち文書化義務のみ課されているのが処理系定義で
未定義は禁止以外の何者でもない
CPUの未定義命令には隠し命令があったりするが
このスレではISO/IEC9899、つまりCについてのみの話だ
混同してんじゃねえよつるっパゲ
0533デフォルトの名無しさん (ワッチョイ bfc8-2PX+)
2017/03/21(火) 10:45:25.94ID:awqkwsPY00534デフォルトの名無しさん (ワッチョイ 534f-v8EU)
2017/03/21(火) 11:27:10.77ID:bH1u/9cj0仕来りや伝統を重んじる日本人にはこの手の人間が多い。
大事なのは自分で考えて使うか使わないか決める事。
理由も無く禁止と言われて従うのは個人の自由。
0535デフォルトの名無しさん (ワッチョイ 33e6-8FG5)
2017/03/21(火) 11:36:55.55ID:+DL1LwCN0決めごとは、それが何であり何でないのか境界を示すんだよ
未定義は後者、つまりCではないという排除だ
0536デフォルトの名無しさん (ワッチョイ 534f-v8EU)
2017/03/21(火) 11:42:42.81ID:bH1u/9cj0例えば一つの実装として、NULLポインターをデリファレンスすると
全てのキーワードやステートメントがJavaと置き換わるとしてもいいんだよ。
なぜなら未定義動作で今まで定義したものを変えてもいいと定義されているのだからね。
CがJavaに自由に拡張できる、これがCの寛容さなんだね。
0537デフォルトの名無しさん (ワッチョイ 33e6-8FG5)
2017/03/21(火) 11:59:45.78ID:+DL1LwCN0CがC++に自由に拡張されたが、それは断じてCではない
かつて禿はC84と名乗ろうとしたがそんな勝手は通らなかった
0538デフォルトの名無しさん (ワッチョイ 534f-v8EU)
2017/03/21(火) 12:04:48.72ID:bH1u/9cj0ちゃんと未定義動作をしてからCがC++にならないとCじゃない。
0539デフォルトの名無しさん (ドコグロ MM17-yrln)
2017/03/21(火) 12:53:40.06ID:UCmYUrR8MCの仕様で未定義と決められてるんだからCでしょ
もしかして>>330なの?
0540デフォルトの名無しさん (ワッチョイ 33e6-8FG5)
2017/03/21(火) 13:58:56.85ID:+DL1LwCN0おまえの言い回しを真似て言うなら
Javaも初期状態がJavaだからCじゃないだけだぜ
さっきおまえはこうも言っていたんだが
> CがJavaに自由に拡張できる、これがCの寛容さなんだね。
どっちなんだ?
0541デフォルトの名無しさん (ワッチョイ 3392-7mwY)
2017/03/21(火) 14:07:31.83ID:/+jzi6Fk0*ぬるぽ, "?- write('hello world!')";
こんなのがCだとは認めない
0542デフォルトの名無しさん (ワッチョイ 5375-gO1F)
2017/03/21(火) 14:57:56.17ID:3WUWYr7R0それって例えば現実にどんなものがあると?
0543デフォルトの名無しさん (ワッチョイ a37b-tpgq)
2017/03/21(火) 20:46:55.55ID:fjLA+enk0UndefinedBehaviorSanitizerなんかもNGだな。
0544デフォルトの名無しさん (ワッチョイ 5375-gO1F)
2017/03/21(火) 21:04:09.67ID:3WUWYr7R00545デフォルトの名無しさん (ワッチョイ 5399-3xgA)
2017/03/21(火) 21:54:42.42ID:GykJf1ZS00546デフォルトの名無しさん (ワッチョイ bf25-12+v)
2017/03/22(水) 02:36:18.39ID:RsCcPqM10*(uint32_t*)0x???????? = 0x???????? が任意アドレスへのストア命令にコンパイルされる、
とかいうのは伝統的に利用されてきた未定義動作と言えるかな。
0547デフォルトの名無しさん (ワッチョイ cfa0-8FG5)
2017/03/22(水) 05:43:13.61ID:aJsdldWQ00548デフォルトの名無しさん (ワッチョイ 5375-gO1F)
2017/03/22(水) 06:44:01.56ID:sj71GTBZ0そのアドレスが有効なら未定義動作じゃないんだけど
0549デフォルトの名無しさん (ワッチョイ 5375-gO1F)
2017/03/22(水) 09:21:55.79ID:sj71GTBZ00550デフォルトの名無しさん (ドコグロ MM17-CEB8)
2017/03/22(水) 09:28:43.52ID:UeMV6rw8Mvolatile 付けてね。
0551デフォルトの名無しさん (フリッテル MM7f-HSBd)
2017/03/22(水) 18:18:23.27ID:lkiNKfPzMC99以降はuintptr_t
0552デフォルトの名無しさん (フリッテル MM7f-HSBd)
2017/03/22(水) 18:20:31.40ID:lkiNKfPzM*(volatile uintptr_t*)0x???????? = 0x????????
0553デフォルトの名無しさん (ワッチョイ cfa0-8FG5)
2017/03/22(水) 18:53:09.70ID:aJsdldWQ0ポインタのビット数以上の整数を
ポートのワード幅に使って何がしたい
0554デフォルトの名無しさん (フリッテル MM7f-HSBd)
2017/03/22(水) 19:15:08.79ID:iVKayQlAMすまん間違えた
ポインタをその幅の整数型にキャストする時に使うのがuintptr_tだった
勘違いした
0555デフォルトの名無しさん (ワッチョイ 733c-tpgq)
2017/03/22(水) 19:49:14.31ID:Jve7RGmN00556デフォルトの名無しさん (ワッチョイ be6b-72yv)
2017/03/23(木) 08:20:53.77ID:xx3Et9SY0キャストする前の式がuintptr_tよりも
ビット数が多かったら失われる情報はどうするのか
ビット数が少なかったらMSBがどのように拡張されるのを意図しているのか
いずれにせよ文面に出ている値と違うアドレスにアクセスする不明瞭なコードにしかならない
そもそも、546がuint32_tを使ったのはポート幅という意味だったのに
ドヤ顔でuintptr_tと言い出した551からが間違いの始まりだ
普段、組み込みを全くやらないヤツであることが見え見え
0557デフォルトの名無しさん (ワッチョイ be03-72yv)
2017/03/24(金) 12:55:04.86ID:Kvw1duXH0C++14に追加された0bと桁区切りはありがたい
0558デフォルトの名無しさん (ワッチョイ 7bd4-sIi0)
2017/03/24(金) 17:36:29.47ID:175B8D420大筋それで済むような気がするけど。
ポインタ直でインデックス以外の計算できた方がいい場面て、そんなにある?
0559デフォルトの名無しさん (ワッチョイ be03-72yv)
2017/03/24(金) 18:09:44.29ID:Kvw1duXH0デコーダの構造でホワイトボックステストするのに
ビットORとか欲しくなるんだ
あと相対アドレスを扱うときポインタ同士の加算が欲しくなる
そこもとの言うとおり今んとこ整数にキャストでやってるけど
ときどき悲しくなってくることがある
0560デフォルトの名無しさん (ワッチョイ 7bd4-sIi0)
2017/03/24(金) 18:38:39.76ID:175B8D4200561デフォルトの名無しさん (ワッチョイ b77b-VHv+)
2017/03/24(金) 21:35:12.56ID:Z1YGpz2h0だとしたらどうやっても環境依存にならざるを得ないし、そうであればその環境で
ポインタとアドレスを表す整数値の相互変換が用意されればいいだけのような。
0562デフォルトの名無しさん (ワッチョイ be03-72yv)
2017/03/24(金) 22:13:25.18ID:Kvw1duXH0どんなやり方でもhowにはこだわらない
0563デフォルトの名無しさん (ワッチョイ 1bc8-aw5l)
2017/03/25(土) 01:30:58.03ID:tFfHtaL600564デフォルトの名無しさん (ワッチョイ 7f28-DR2J)
2017/03/25(土) 17:35:29.00ID:DpWyOpIH0定格周波数なら問題ないのですが、ターボブーストがかかったものや、OCされているものも計測できますかね
0565デフォルトの名無しさん (ワッチョイ 2a2b-2oVS)
2017/03/25(土) 18:28:25.65ID:SWo7K2yf0Cでやらずにスクリプトのほうがいいよ。
0566デフォルトの名無しさん (ワッチョイ 7f28-DR2J)
2017/03/25(土) 22:13:52.03ID:DpWyOpIH0すみません、自己解決しました
0567デフォルトの名無しさん (ガラプー KK0b-3j27)
2017/03/25(土) 23:17:08.96ID:I5hadjT7Kブンデス見れない
CLEL見れない
代表も見れねえちきしょう
結果知らされて見れねえちきしょうクソったれ同和のクソ野郎地獄へ落ちろ
音楽聞けねえちきしょう
テレビ見れねえちきしょう
同和のクズ共死ねクソ共がざまあみろ気違い共
ほれ気違い共もっともっとドア閉めろ通れ
それしか能のない能無し共がざまあみろ地獄に落ちろ
悔しいか、ざまあみろくたばれクソ同和
お前らの恐ろしさをもっと見せてみろ。そんなんじゃなんともねえぞ
袋とじ見たぞ
悔しいか、ざまあみろくたばれクソ同和
生きる権利もねえクズ共が藁地獄へ落ちろ
嫌がらせがエスカレートするのが楽しみでしょうがない
今それだけが楽しみだ
俺の生き甲斐藁
それだけ怒ってるってことだもんな藁
分かったか?お前らは生きる権利すらねえクソ野郎共だ
ラブホ行ったのがそんなに悔しいかざまあみろチンカス共が藁
思う存分楽しんでくるぞあばよ
椎名茉莉、知っちゃったよ。ラブホに来なければ知らなかったはずだけどな。サンキューお前ら藁
超美形。嬉しくてたまらん。お前らどうしてくれる?藁ほれ赤字分を取り返すために必死になれ
ピザ食ったぞ。羨ましいだろう?藁ざまあみろ
音楽聞いたぞざまあみろ
非人が美人
0568デフォルトの名無しさん (ワッチョイ f36e-1WRf)
2017/03/26(日) 00:03:11.36ID:WlbZhdKe0まずオシロスコープか周波数カウンタで測定することを連想したけどなー
やったことないからなー
0569デフォルトの名無しさん (ワッチョイ 2a2b-2oVS)
2017/03/26(日) 09:59:08.80ID:i70DjqT800570デフォルトの名無しさん (ワッチョイ 5728-TrMc)
2017/03/26(日) 10:21:01.09ID:BEDaSedw0というか実際に計りたい人とかいるのか
0571デフォルトの名無しさん (ワッチョイ eb5e-72yv)
2017/03/26(日) 17:58:03.39ID:FsanfKak00572デフォルトの名無しさん (ワッチョイ 2b92-5Mbg)
2017/03/26(日) 19:59:18.16ID:XGKn8aF80インテルのツール起動して表示されてるのを覗けばよい
0573デフォルトの名無しさん (ワッチョイ eb5e-72yv)
2017/03/26(日) 22:01:36.19ID:FsanfKak00574デフォルトの名無しさん (ワッチョイ 2b92-5Mbg)
2017/03/27(月) 08:30:20.54ID:6STS5oue00575デフォルトの名無しさん (ワッチョイ eb37-72yv)
2017/03/27(月) 09:04:52.45ID:jX19x/Eb00576デフォルトの名無しさん (ワッチョイ be8c-N8vi)
2017/03/27(月) 15:48:29.13ID:YTkDzohr00577デフォルトの名無しさん (ワッチョイ eb37-72yv)
2017/03/28(火) 15:24:59.06ID:JfwQ0DgC0クソたわけたことを考えたりしてねえよな
0578デフォルトの名無しさん (ワッチョイ 4aab-VHv+)
2017/03/28(火) 23:22:27.14ID:C1cSHzBN0このコードで、ビッグエンディアンの環境でも意図通り動く?
リトルエンディアン環境では正しく動作してる
unsigned short us;
unsigned char bb[] = {0x0C, 0x69};
int x = 1;
if( *(char *)&x ){
puts("LE");
us = (bb[0] << 8) + bb[1];
}else{
puts("BE");
us = (bb[1] << 8) + bb[0];
}
printf("%d\n", us);
0579デフォルトの名無しさん (ワッチョイ aa0e-sHWo)
2017/03/28(火) 23:46:23.14ID:CV1H9vOH00580デフォルトの名無しさん (ワッチョイ aa0e-sHWo)
2017/03/28(火) 23:47:59.32ID:CV1H9vOH0やっぱり分からん
0581デフォルトの名無しさん (ワッチョイ 1bae-HDPe)
2017/03/29(水) 00:21:40.51ID:TE60yoif00582デフォルトの名無しさん (ワッチョイ cf92-OyFU)
2017/03/29(水) 00:37:23.73ID:1Y5JkvJH0なんか勘違いしてないか?
エンディアンの違いは入出力の違い
つまりこの場合bb[]の中が逆順になるわけで
bb[] = {0x0C, 0x69}; // BE
bb[] = {0x69, 0x0C}; // LE
となってusへの代入が逆だからLEでも正しくないはずだぞ
0583デフォルトの名無しさん (ワッチョイ 0ad1-yqOs)
2017/03/29(水) 00:49:27.44ID:M4UnQvMB0この式の結果はエンディアンに依存してない
エンディアンによって結果が変わるのは*(unsigned short *)bb みたいにバイト列を直接2バイト以上の変数として読み出したとき
0584デフォルトの名無しさん (ワッチョイ 0ad1-yqOs)
2017/03/29(水) 00:51:34.17ID:M4UnQvMB0トンチンカンなこと吹き込むのはやめたげてよぉ…
0585デフォルトの名無しさん (ワッチョイ 5728-TrMc)
2017/03/29(水) 02:22:24.89ID:Bb2qhsdR0そういう判定はプリプロセッサに任せるのが妥当じゃないだろうか
0586デフォルトの名無しさん (ワッチョイ 7bd4-sIi0)
2017/03/29(水) 03:18:24.23ID:zi+6m3Qx0unsigned char bb[]={0x0c,0x69};
printf("%d\n",ntohs(*(unsigned short*)bb));
0587デフォルトの名無しさん (ドコグロ MMe3-hXJm)
2017/03/29(水) 08:07:46.79ID:H5Zs8YVxM>>584
0588デフォルトの名無しさん (ワッチョイ 934f-aw5l)
2017/03/29(水) 08:10:12.15ID:8zEKqVfn0ifが出てきたら次はブロック次にelseかelse ifが来るだろうなどと分かりたいです。
出来たらそういう規則がプログラムにとり込めるような形式のものないですか?
0589デフォルトの名無しさん (ドコグロ MMe3-hXJm)
2017/03/29(水) 08:29:19.45ID:H5Zs8YVxMC言語 BNF でググれ
0590デフォルトの名無しさん (ワッチョイ 934f-aw5l)
2017/03/29(水) 08:51:42.73ID:8zEKqVfn0C言語 BNF でググったらBNFが見つかりました。
BNF のC11 のBNFは見つかりますか?
0591デフォルトの名無しさん (ワッチョイ cff9-72yv)
2017/03/29(水) 10:00:52.04ID:NU8Q9yFr0ISO/IEC 9899:2011規格票のP.458 (物理ページP.477)
Annex A Language syntax summaryにまとめてある
規格票はここで入手する
正規版 http://www.jsa.or.jp/store/iso.html
ドラフト http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf
0592デフォルトの名無しさん (ワッチョイ 73e1-HQfx)
2017/04/05(水) 16:54:57.64ID:M914HUmM0よくおまじないと言われる#include <stdio.h>というのはなぜ必要になっているのでしょうか
ヘッダーファイルとかprintf関数が使えるようになるため外部から持ってくる……とか色々読んでみてはいます
でも例えばpythonとかならいきなりprint使っても問題無いじゃないですか。Cは一体何が違うんですかね
0593デフォルトの名無しさん (アウアウウー Sab7-19VF)
2017/04/05(水) 17:54:18.50ID:fGmDSsA2a裏で勝手に処理してくれるか自分で手動で処理するかの違いです
AT車とMT車の違いみたいなもん
手動だと管理は面倒になるけどその分必要なときだけインクルードすればよくなるのでリソースの節約になる
0594デフォルトの名無しさん (アウアウオー Sa1f-kVPK)
2017/04/05(水) 18:07:54.36ID:MYxUBMY8a組み込み用途とかだと容量限られるし、画面が無くてLEDとポートにしか入出力しないのも有るからね。
組み込みのCだと浮動小数も無い。
徹底的に無駄を省けるからこそ普及したとも言える。
0595デフォルトの名無しさん (ドコグロ MM1f-rt+z)
2017/04/05(水) 18:11:49.45ID:Jfl2gxW0Mおまじないじゃない
printf関数のman見ると必要と書いてあるはず
0596デフォルトの名無しさん (アウアウオー Sa1f-kVPK)
2017/04/05(水) 18:23:02.75ID:MYxUBMY8a594だけど、説明になって無かったね。
Cはもともとアセンブラで書かれたUnixを書き直すために作られた。
printfはOSの機能を使うので、OS自体を作る際にはprintfは使えない。
要はOS上で動くことしか想定して無いか、OS無い状態も想定してるかが違うって事。
0597デフォルトの名無しさん (アウアウカー Sad7-8ugA)
2017/04/05(水) 23:21:46.60ID:VdHy3lf0apythonと比べるとかなり違うけど、javaで考えたら分かりやすいんじゃない?
import文をつけなきゃフルでクラス名指定しなきゃいけないでしょ?ああいう感じだよ。includeしなくても関数とか変数の型が分かればいいんだけどね。
0598デフォルトの名無しさん (ワッチョイ 73ae-47ib)
2017/04/05(水) 23:47:30.28ID:totaCjOi0意味不明すぎてなんか怖い。どこから組み込みとかOSが・・・
>>597
関数や変数の型が分かればincludeしなくていいんじゃなくて、
関数や変数の型を分かるためにincludeしなければならない
初心者は、includeしなくてもリンクすれば動くことを知ると
includeは必須でないと思いがちだけど、
ヘッダファイルにはプロトタイプ以外に定数やtypedefや色々が
含まれているから、必要なヘッダファイルはincludeすべき
0599デフォルトの名無しさん (ワッチョイ f272-8Vmj)
2017/04/06(木) 01:19:10.89ID:e/cyi26A00600デフォルトの名無しさん (ワッチョイ d2ed-2ODd)
2017/04/06(木) 03:02:07.73ID:Fa+jLA710自分でヘッダ書くようになればstdio.hが必要になる理由も分かる
0601デフォルトの名無しさん (ワッチョイ 7f93-+TA9)
2017/04/06(木) 07:14:23.75ID:3pIc1pJU0思いがちって、事実じゃん
初心者が事実をまずはドライに憶えることに俺は賛成だ
だからいじくり倒すための実機を与えるわけじゃん
きれい事だけ吹き込むには却って邪魔なものをね
そうして集めた事実から帰納したものこそ経験値ってやつ
「べき」論を持つこと自体がその上に成り立つわけだろ
0602デフォルトの名無しさん (アウアウオー Saca-DYLG)
2017/04/06(木) 12:01:20.41ID:8kC83+ZYa質問者はincludeの意味は後々理解はしてて、Pythonと違ってprintfまでincludeが必要なのは何で?って質問なんだから、組み込みやOSなどでprintf使えない環境のプログラミングも想定(と言うか、作られた目的がそれ)だからって回答。
0603デフォルトの名無しさん (スップ Sdb2-H1JN)
2017/04/06(木) 13:29:35.74ID:tVouRW8Ldウソばっか書いてんじゃねーよ
0604デフォルトの名無しさん (ワッチョイ efc3-/e+Y)
2017/04/06(木) 16:17:22.73ID:JYd3gytF0個人的な経験だけど、このことが腑に落ちたのは
printfで画面に文字列が表示されるのは関数の「副作用」なのだ、と
何かの資料を見たときだったな。
Cには文字列を表示する命令は存在しない、て題目の理解も含めて。
0605デフォルトの名無しさん (ワッチョイ bf92-R2Im)
2017/04/06(木) 17:03:07.38ID:3D70ivY/00606デフォルトの名無しさん (ワッチョイ 7243-Jcuu)
2017/04/06(木) 17:45:47.51ID:OpCyiUfW0正直に中身言えばいい
0607デフォルトの名無しさん (アウアウウー Sa93-ajVR)
2017/04/06(木) 17:50:31.26ID:a4NxHu4Ca謎のheader.hとか作って必要ないものまで詰め込むんじゃあないぞ?
0608デフォルトの名無しさん (ワッチョイ bf35-D1KF)
2017/04/06(木) 18:33:51.95ID:YhjdHSXi00609デフォルトの名無しさん (ドコグロ MM83-synR)
2017/04/06(木) 19:12:12.23ID:9VEHVWdQMそれは初心者の発想なんだって。百歩譲って中級者
0610デフォルトの名無しさん (ワッチョイ 7f93-+TA9)
2017/04/06(木) 19:54:19.03ID:3pIc1pJU0俺は永久初心者だよ
おまえみたいに慢心しないことが信条だ
0611デフォルトの名無しさん (ワッチョイ 72c8-Tsvi)
2017/04/06(木) 21:10:47.38ID:LK8rGfci00612デフォルトの名無しさん (ワッチョイ bf92-R2Im)
2017/04/06(木) 21:21:28.46ID:3D70ivY/00613デフォルトの名無しさん (ドコグロ MMca-3HFK)
2017/04/06(木) 22:26:21.55ID:SR4XZy36M#include "printf.h"
0614片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd92-+G+c)
2017/04/06(木) 23:24:28.43ID:e0OshZYPd__declspec(dllimport)
#endif
int
#ifdef _WIN32
__cdecl
#endif
printf(const char *, ...);
システムハッカーだったら、このくらい書けないと。
0615デフォルトの名無しさん (ワッチョイ 32b6-P5ls)
2017/04/06(木) 23:26:20.76ID:nUMecF4W00616片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd92-+G+c)
2017/04/06(木) 23:29:58.35ID:e0OshZYPd0617デフォルトの名無しさん (ワッチョイ d20b-+TA9)
2017/04/07(金) 22:48:49.18ID:yH2NYea400618デフォルトの名無しさん (ワッチョイ bf01-ExwK)
2017/04/09(日) 19:52:45.06ID:kppXmAWS0具体的には買うべき本を教えてほしいです
C++を学ぶべきですか?
やりたいことはDxlibでのゲーム制作です
コミケで売りたいです
0619デフォルトの名無しさん (アウアウウー Sa93-ajVR)
2017/04/09(日) 19:59:57.30ID:c0gwQMp6a0620デフォルトの名無しさん (ワッチョイ f272-8Vmj)
2017/04/09(日) 20:19:46.70ID:+eXxcQKg0http://dxlib.o.oo7.jp/
・14歳からはじめるC言語わくわくゲームプログラミング教室
・超本格! サンプルで覚えるC言語3Dゲームプログラミング教室
0621デフォルトの名無しさん (ワッチョイ bf01-ExwK)
2017/04/09(日) 20:47:10.03ID:kppXmAWS0ポインタとc++どっち勉強するのか迷ってます
>>620
その本は持ってます
一応14歳から始めるは持ってますがいいゲームソースは無いと思いました…
自分でリファレンスを見ながら作るのと、14歳を見ながら作るのどっちかで迷ってます
3Dは素材を作るのが大変なので買うかは分かりません
0622デフォルトの名無しさん (ワッチョイ f272-8Vmj)
2017/04/09(日) 21:05:49.96ID:+eXxcQKg00623デフォルトの名無しさん (ワッチョイ bf01-ExwK)
2017/04/09(日) 21:17:27.03ID:kppXmAWS0こちらはDxlibで作られているのでしょうか?
教えてほしいです
0624デフォルトの名無しさん (ワッチョイ 7296-6kFs)
2017/04/10(月) 01:05:43.39ID:uIxtaV+100625デフォルトの名無しさん (スッップ Sd92-ExwK)
2017/04/10(月) 11:36:04.04ID:oSuGtbL2d分かりました!
色々意見ありがとうございます
0626デフォルトの名無しさん (アウアウカー Sa7f-ExwK)
2017/04/10(月) 14:37:52.49ID:smEOwdaka0627デフォルトの名無しさん (ワッチョイ 7ec8-oCke)
2017/04/11(火) 17:54:16.73ID:wONLZxuG0マイコンでCを使っているのですが、ADコンバーターで読み込む値が0から255までの範囲であるのですが、
その値を逆(255=0、100=155、155=100、0=255)というようにする一番簡単な方法とか関数があればお願いします!
ちょっとわかりづらくてすみません
要は0−255が本当の値で、本当の値が上がるに連れて別の値が255−0に下がることをしたいです
0628片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd92-+G+c)
2017/04/11(火) 17:57:31.27ID:Kut+59had{
return 255 - value;
}
0629デフォルトの名無しさん (ワッチョイ 7ec8-oCke)
2017/04/11(火) 18:28:55.86ID:wONLZxuG0ありがとうございました!
0630片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd92-+G+c)
2017/04/11(火) 18:42:52.22ID:Kut+59had0631デフォルトの名無しさん (ワッチョイ f3c2-3HFK)
2017/04/11(火) 23:32:34.82ID:DKpQ91C400632デフォルトの名無しさん (ワッチョイ 7f54-+TA9)
2017/04/12(水) 13:00:45.47ID:VsnTi5TK00633デフォルトの名無しさん (ワッチョイ 0bfe-alIo)
2017/04/13(木) 01:46:13.23ID:aI3QvCn30int int char int int 、 char 以降のデータが 00にしかならないのだけど・・
sscanf(line, "%d %d %d %d %d %d %d %d", &num1, &num2, &num3, &num4, &num5, &num6 ,&num7,&num8);
0634デフォルトの名無しさん (JP 0Hef-XQdm)
2017/04/13(木) 02:41:15.39ID:DU6rbm7bHsscanfの戻り値調べてみ。
0635デフォルトの名無しさん (ワッチョイ 5bf3-CJGP)
2017/04/13(木) 09:37:01.11ID:7Ya9aS0O0関数printfは内部でシステムコールwriteを読んでいるところまでは判りました。
それから、printfは、libc.so.6にアーカイブされている事も判りました。
では、writeシステムコールは、どこにあるのでしょう?カーネルに組み込まれているのでしょうか?
システムコールのみでプログラミング(例えばprintfの再発明)したら、ライブラリのリンク無しで実行ファイルが作られるのでしょうか?
なお、「ふつうのLinuxプログラミング」青木峰郎著を読んでるところです。
0636デフォルトの名無しさん (ワッチョイ 4ff3-HE/W)
2017/04/13(木) 09:49:23.98ID:dIyM6wgk0それそのまんまBinary Hacksに書いてあるから読むといい
ttp://amazon.jp/dp/4873112885
0637デフォルトの名無しさん (JP 0Hef-XQdm)
2017/04/13(木) 10:06:38.66ID:pen620Y0Hシステムコールの中身はカーネルにあるけど、
Cからは直接にはカーネルを呼ぶ機能がないので、
それをしてくれるwriteという橋渡し用の関数がlibc内にある。
0638デフォルトの名無しさん (アウアウオー Sabf-gqNS)
2017/04/13(木) 10:13:22.57ID:m/ZfxtWHaそうだお。
Winでも内部的にWin32の同じ機能のAPIが呼ばれてる。
んで、Win32APIはdllの中に入ってる。
そのdllはsystem32フォルダにある。
今のOSだとファイルの名前違うかもだけど、基本は一緒。
0639デフォルトの名無しさん (アウアウオー Sabf-gqNS)
2017/04/13(木) 10:14:07.06ID:m/ZfxtWHaoフォルダの名前違うかもだけど
0640デフォルトの名無しさん (ワッチョイ 0bfe-alIo)
2017/04/13(木) 10:53:57.69ID:aI3QvCn30ああ そういうことですか
なぞがとけた ありがと
0641デフォルトの名無しさん (ワッチョイ 5bf3-CJGP)
2017/04/13(木) 11:07:39.23ID:7Ya9aS0O0THX!
ggってみるとwrite関数を呼ぶとKernelのsys_call_tableが走査されて、
処理ルーチンへ行って実行されるみたいです。
「0から作るLinuxプログラム」
http://softwaretechnique.jp/Linux/SystemCall/sc_02.html
0642デフォルトの名無しさん (ワッチョイ 5bf3-CJGP)
2017/04/13(木) 11:12:40.11ID:7Ya9aS0O0それ間違い、ちゃいいまっか?
libcにはprintfはあるけど、writeは無いんちゃいます?
けど、man 2 writeってmacOSでやると、
WRITE(2) BSD System Calls Manual WRITE(2)
LIBRARY
Standard C Library (libc, -lc)
って出てくるんですよねぇ。謎ダァ。
0643デフォルトの名無しさん (ドコグロ MMaf-ADWx)
2017/04/13(木) 12:27:56.92ID:5NPFDLkkMシステムコールもCから呼ぶためのラッパーは必要
システムコールは特定にレジスタやスタックをインターフェイスいするから
C言語の関数に見えるようラップする
0644デフォルトの名無しさん (ワッチョイ 5bf3-CJGP)
2017/04/13(木) 12:55:20.15ID:7Ya9aS0O0めちゃ、嘘っぽい。
0645デフォルトの名無しさん (ドコグロ MMaf-ADWx)
2017/04/13(木) 12:56:44.73ID:5NPFDLkkM0646デフォルトの名無しさん (ガックシ 067f-8aNn)
2017/04/13(木) 13:18:34.37ID:8QVh9iHQ60647デフォルトの名無しさん (ワッチョイ 5bf3-CJGP)
2017/04/13(木) 13:36:00.76ID:7Ya9aS0O0nm libc.so | grep write
を実行するとwriteがヒットする?
すまんが、今Linux環境が無いのだ。
0648デフォルトの名無しさん (ワッチョイ 5ba8-ho19)
2017/04/13(木) 13:37:54.39ID:zgGH6F9W0あったよ
0649デフォルトの名無しさん (ワッチョイ 5bf3-CJGP)
2017/04/13(木) 14:31:16.61ID:7Ya9aS0O0もしlibc.soにwriteがあれば、T = Global text symbolって表示されるはず。
libc.soにはprintfがあり、printfはwriteを呼ぶから
W write
って表示されるんちゃうの?
0650デフォルトの名無しさん (ワッチョイ 5ba8-pKWl)
2017/04/13(木) 15:06:55.12ID:zgGH6F9W0そっちが優先されるらしい
glibcのwrite見てみたら何もやってなかった
/* Write NBYTES of BUF to FD. Return the number written, or -1. */
ssize_t
__libc_write (int fd, const void *buf, size_t nbytes)
{
if (nbytes == 0)
return 0;
if (fd < 0)
{
__set_errno (EBADF);
return -1;
}
if (buf == NULL)
{
__set_errno (EINVAL);
return -1;
}
__set_errno (ENOSYS);
return -1;
}
ld-2.24.so
0001cab0 t write
多分こっちのが使われるのかな
0651デフォルトの名無しさん (ワッチョイ 5bf3-CJGP)
2017/04/13(木) 15:22:05.22ID:7Ya9aS0O0Unixプログラミング
0652デフォルトの名無しさん (アウアウカー Saef-DPRV)
2017/04/13(木) 19:57:35.71ID:XISlQxJMa実行ファイルにnm叩いたら、write@GLIBC_2.2.5とか出るでしょ
実際のシンボルは__libc_writeでweak_aliasで呼び変えさせてる
libcの中身はアーキテクチャによって違うったり、雑多な処理はあるけど、要はint 0x80
0653デフォルトの名無しさん (ワッチョイ 5bf3-CJGP)
2017/04/14(金) 08:48:57.71ID:DhuHJM1H0レスあんがと!
CPU例外(割り込み)を使って保護モード(User Mode)から特権モード(Supervisor Mode)へ遷移させてsystem callを実行させる、って所まで、
昨日ggって理解しました。
状態遷移に必要なCPU命令(asm命令)がint 0x80ってのも理解したんですが、
int 0x80は古くて、最新のCPUではPentium6?以降は使用されてないってどっかでみたんですけどぉ。。。
違うのかな?
0654デフォルトの名無しさん (ワッチョイ 5bf3-CJGP)
2017/04/14(金) 10:07:03.22ID:DhuHJM1H0qitta://システムコールめもめも
0655デフォルトの名無しさん (アウアウカー Saef-DPRV)
2017/04/15(土) 00:51:54.67ID:Q6X7yreia0656デフォルトの名無しさん (ワッチョイ 1f86-aYkx)
2017/04/15(土) 02:29:14.45ID:wVDYL7uR0前者はあまり聞かないな
0657デフォルトの名無しさん (ワッチョイ dbc5-EaKP)
2017/04/15(土) 07:37:39.51ID:moDerlFh0オーバーヘッドがめちゃ大きいから無闇にやらなくなってるだろ
コールゲートとかsysenterとか軽量化された遷移機能が色々あるわけで
0658デフォルトの名無しさん (ワッチョイ 2b35-woc+)
2017/04/15(土) 10:05:50.15ID:nr8sMSoj00659デフォルトの名無しさん (ワッチョイ 5b54-axuq)
2017/04/15(土) 10:14:41.94ID:a5YsKM5y0じゃぁ、前者はなんて言うの?
0660デフォルトの名無しさん (ワッチョイ 5b54-axuq)
2017/04/15(土) 10:22:27.50ID:a5YsKM5y0が詳しいな。
Win, LinuxはRing 0, 3のみを使うらしい。
前者はSupervisor mode, 後者はUser mode
呼び名はCPUにより異なり、上記はIntelの話。
AMDではHypervisor modeって言うらしい。
あぁ、ややこしい。
0661デフォルトの名無しさん (ワッチョイ 5b54-axuq)
2017/04/15(土) 10:23:28.19ID:a5YsKM5y0>wikipedia://リングプロテクション
0662デフォルトの名無しさん (ワッチョイ 6b92-Lld5)
2017/04/15(土) 10:38:54.27ID:I20g9b3x0無知自慢しなくて良いぞ
0663デフォルトの名無しさん (ワッチョイ 5b54-axuq)
2017/04/15(土) 15:25:53.38ID:a5YsKM5y0あんた、凄腕Hackerなのね。
すごぉーい。
0664デフォルトの名無しさん (ワッチョイ 1fb6-AUHz)
2017/04/15(土) 18:00:15.61ID:bK+0/AQY0争いは同じレベルでうんぬんってやつだなw
0665デフォルトの名無しさん (ワッチョイ 1fb2-EaKP)
2017/04/15(土) 18:08:36.60ID:53BEnEdf0DC X'83だろjk
0666666 (ワッチョイ ebd4-O9Wd)
2017/04/15(土) 18:11:42.05ID:DaclR97r00667デフォルトの名無しさん (ワッチョイ 1f86-aYkx)
2017/04/15(土) 19:45:12.63ID:wVDYL7uR0Wikipediaの知識鵜呑みにするなよ
0668デフォルトの名無しさん (ワッチョイ 5b01-E3Pp)
2017/04/15(土) 22:54:03.18ID:C8M5Q5/I0if(L1 == 1 && L2 == 0)
{
if(L3 == 0)
{
L2 = 1;
}
}
if(L1 == 0 && L2 == 1)
{
L2 = 0;
}
0669デフォルトの名無しさん (ワッチョイ 0f1f-HE/W)
2017/04/15(土) 23:17:25.30ID:emWn6yHd00670デフォルトの名無しさん (ワッチョイ 1fb6-AUHz)
2017/04/15(土) 23:33:30.64ID:bK+0/AQY0初めのifとその中のifは &&で連結できるよね
0671デフォルトの名無しさん (アウアウウー Saaf-Sirm)
2017/04/15(土) 23:46:35.09ID:SFMcONw8a|| (L1==0 && L2==1)
? L1 : L2 ;
0672デフォルトの名無しさん (ワッチョイ 6b3c-8gjR)
2017/04/16(日) 01:18:39.30ID:L6zAmhp302eの問題自分なりに作ってみたんだけど,
#include <stdio.h>
int main(void){
int sum;
char c[3];
printf("3つの文字を入力してください: ");
scanf("%s", c);
sum = 1000*1000*c[0]+1000*c[1]+c[2];
printf("%d\n", sum);
}
以外に解答ある?
前のページ見返すと%sなんて一つも出てきてなかったから違う書き方あるのかなと思った
まぁこれが一番手っ取り早いとは思ってるけど
ちなみにこれ以前に出てきたのはprintf, getchar, putchar, scanfくらい
0673デフォルトの名無しさん (ワッチョイ 1f13-XQdm)
2017/04/16(日) 02:13:08.25ID:bUP2qex60もちろん別解はあるよ。いちいち掛け算とかしなくても題意は満たせる。
0674デフォルトの名無しさん (ワッチョイ 1f96-ofgl)
2017/04/16(日) 07:14:16.97ID:Xmi0XFCj00675デフォルトの名無しさん (ワッチョイ 6bc3-L7yR)
2017/04/16(日) 07:28:50.03ID:zCGp260H0scanf("%c%c%c", &c[0], &c[1], &c[2]);
という具合に1文字ずつ3回とる書き方を想定してるのかも。
もちろん、書式指定文字を自分で調べてみろ、という可能性もある。
unsigned か signed かは処理系依存
0677デフォルトの名無しさん (ワッチョイ db92-tzbf)
2017/04/16(日) 08:29:33.38ID:IGu7vgmw0int main(void){
long sum = 0;
printf("3つの文字を入力してください: ");
sum += 1000000 * getchar();
sum += 1000 * getchar();
sum += getchar();
printf(" %ld\n", sum);
}
ループ制御文もまだ、という前提ならこんな書き方もあるかな
0678デフォルトの名無しさん (ワッチョイ 0fc5-nNzh)
2017/04/16(日) 09:25:30.90ID:ZkGvv/eh0戻り値がないよ。
0679デフォルトの名無しさん (ワッチョイ 8b6e-wfVM)
2017/04/16(日) 09:47:09.36ID:KtytiiHR0table[0][0][0] = 3;
table[0][0][1] = 1;
table[0][1][0] = 0;
table[0][1][1] = 3;
table[1][0][0] = 3;
table[1][0][1] = 3;
table[1][1][0] = 0;
table[1][1][1] = 3;
if(table[L3][L2][L1] != 3) {
L2 = table[L3][L2][L1];
}
0680デフォルトの名無しさん (ワッチョイ 5b54-axuq)
2017/04/16(日) 10:26:09.76ID:rJDcEpUw0参考になった
0681デフォルトの名無しさん (ワッチョイ 1f3c-RLAq)
2017/04/16(日) 21:37:35.53ID:lPPq8pqC0なんのためにそんなアホなことしてるんだ?
0682デフォルトの名無しさん (ワッチョイ 0f1f-HE/W)
2017/04/16(日) 21:45:59.33ID:eotLVbou0if(L1) {
if(!L3) {
L2 = true
}
}
else {
L2 = false
}
0683デフォルトの名無しさん (ワッチョイ 5ba8-sdet)
2017/04/16(日) 21:52:23.15ID:BxtB+HP300684デフォルトの名無しさん (ワッチョイ 0f1f-HE/W)
2017/04/16(日) 22:05:16.60ID:eotLVbou00685デフォルトの名無しさん (アウアウウー Saaf-Sirm)
2017/04/16(日) 23:49:15.20ID:TVwRllmJa0686デフォルトの名無しさん (ワッチョイ 0f1f-HE/W)
2017/04/17(月) 00:12:13.82ID:eF77F0Lm00687デフォルトの名無しさん (ワッチョイ 1fc8-l5Yj)
2017/04/17(月) 00:14:15.44ID:5ZyamKxI0if(L3!=0){
M3=1;
}
char a[3]={L1+'0',L2+'0',M3+'0'};
int ans = strtol(a,NULL,2);
if(ans==2 || ans==3){
L2=0;
}
else if(ans==4){
L2=1;
}
0688デフォルトの名無しさん (ワッチョイ 0f1f-HE/W)
2017/04/17(月) 00:29:38.04ID:eF77F0Lm0こうkqあ
0689デフォルトの名無しさん (ワッチョイ 0f57-pXXn)
2017/04/17(月) 19:37:41.40ID:LFb/nWYs0visual studio2015は重い、容量が大きい、多機能ゆえに複雑で
またC言語の本に載っているscanf()か忘れましたがvisualstudioで使えない関数があって勉強に向きませんでした
学習用C言語開発環境は使いやすかったのですが「ハンドルされてない例外が云々」で開けなくなってしまいました
0690デフォルトの名無しさん (アウアウカー Saef-63li)
2017/04/17(月) 19:55:35.30ID:JOlgQg3xa0691デフォルトの名無しさん (アウアウカー Saef-8aNn)
2017/04/17(月) 19:57:50.26ID:3Tw61MUoa0692デフォルトの名無しさん (ワッチョイ 0f57-pXXn)
2017/04/17(月) 20:02:43.16ID:LFb/nWYs0ありがとうございます
それでやってみます
0693デフォルトの名無しさん (ワッチョイ 1f3c-xLT8)
2017/04/17(月) 20:44:11.37ID:rZd85UOy00694デフォルトの名無しさん (ワッチョイ 0f1f-V7Gz)
2017/04/17(月) 20:50:37.73ID:WSFbMZnM0インストールするとWindowsで
そのままGCCが使えるようになる
0695デフォルトの名無しさん (ワッチョイ 0f1f-HE/W)
2017/04/17(月) 21:16:19.66ID:VvYNlkfx00696デフォルトの名無しさん (ワッチョイ 0f1f-V7Gz)
2017/04/17(月) 21:27:42.83ID:WSFbMZnM0perl applications. It is designed to be as close as possible to perl environment on UNIX systems.
It includes perl binaries, compiler (gcc) + related tools, all the external libraries (crypto, math,
graphics, xml ...), all the bundled database clients and all you expect from Strawberry Perl.
0697デフォルトの名無しさん (ドコグロ MM6f-nNzh)
2017/04/17(月) 21:56:31.37ID:K4zMJw1pM0698デフォルトの名無しさん (ワッチョイ db92-tzbf)
2017/04/17(月) 23:07:09.98ID:n47simZf0というかもはやwindowsがマイナーなので積極的にサポートする気もないのでは
0699デフォルトの名無しさん (ササクッテロル Sp6f-cQmk)
2017/04/18(火) 00:27:10.64ID:mT3cn5tTpライブラリがあれば使いたいんですが
0700片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd3f-L+dC)
2017/04/18(火) 00:31:22.31ID:IWAr0eMMdstd::mapのポインタ型を抽象化して、extern "C" 関数で包み込めば、C言語で使えるよ。
0701デフォルトの名無しさん (アウアウオー Sabf-63li)
2017/04/18(火) 01:13:17.24ID:d6pyL/2iaC++だからってベターCで使っちゃいけないとかは無い。
昔は馬鹿にされてたみたいだけど、オブジェクト指向のメリット/デメリット分かってきたからこそ使い分けるってのは今ならアリじゃ無いかな。
0702デフォルトの名無しさん (ワッチョイ 1f96-ofgl)
2017/04/18(火) 01:14:22.42ID:XGeX8lCt00703デフォルトの名無しさん (ワッチョイ 4b3c-93S+)
2017/04/18(火) 02:53:03.52ID:bFJ8kS/S00704デフォルトの名無しさん (ワッチョイ 4b3c-93S+)
2017/04/18(火) 03:15:10.11ID:bFJ8kS/S0これでOK
L2 ^= L2 | L3 ^ L1;
0705デフォルトの名無しさん (ワッチョイ 4b3c-93S+)
2017/04/18(火) 03:18:20.17ID:bFJ8kS/S00706片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd3f-L+dC)
2017/04/18(火) 03:27:35.19ID:IWAr0eMMd0707デフォルトの名無しさん (ワッチョイ 6b7b-HE/W)
2017/04/18(火) 07:42:48.54ID:s3RYESJE0えっ。clang-clなんてここまでやるかというくらい力入っているのに。
0708デフォルトの名無しさん (ワッチョイ 1f0b-8aNn)
2017/04/18(火) 09:53:55.83ID:GbxEFlpT0工学系の俺はやってない
真理値表くらいはしってるが
0709デフォルトの名無しさん (ワッチョイ db65-EaKP)
2017/04/18(火) 12:12:48.38ID:opmIphTi00710デフォルトの名無しさん (ドコグロ MM3f-nNzh)
2017/04/18(火) 12:21:18.26ID:OiYR9ME0Mブール代数概論
ブール代数総論
0711デフォルトの名無しさん (JP 0Hef-XQdm)
2017/04/18(火) 18:04:32.24ID:rFffWSG4H0712デフォルトの名無しさん (ワッチョイ db92-tzbf)
2017/04/18(火) 21:16:41.04ID:k6m1elBa0ライブラリをスタティックリンクしまくって60MB超える実行ファイルを
別名で用意するためだけにいくつもコピペした結果
寄生先であるgcc本体の倍近いパッケージサイズになってるあたり
全くもってやる気が感じられないのだが
0713デフォルトの名無しさん (ワッチョイ 1f86-aYkx)
2017/04/19(水) 02:34:42.36ID:4wkZySHo00714デフォルトの名無しさん (ワッチョイ 5fd4-O9Wd)
2017/04/19(水) 07:04:47.79ID:0iRfCWR800715デフォルトの名無しさん (ワッチョイ 2b51-EaKP)
2017/04/19(水) 07:59:27.42ID:NVOSG7Tn00716デフォルトの名無しさん (ワッチョイ 5bf3-CJGP)
2017/04/19(水) 08:23:26.68ID:2o4P71X40それはない
NANDだけで全ての論理回路を構成できると知ってビックリした。
これも NAND だけで構成できる
こういう帰還のある回路を表現する数学ってなに?
0718デフォルトの名無しさん (ドコグロ MMbf-RLAq)
2017/04/19(水) 08:30:08.02ID:CJSzniGcM> NANDだけで全ての論理回路を構成できる
なるほどねぇ
っては思ったけどビックリするほどのことか?
って言うかいくつかの講義で重複してる件となんの関係があるんだよ
0719デフォルトの名無しさん (ワッチョイ 2b51-EaKP)
2017/04/19(水) 08:51:22.09ID:NVOSG7Tn0結論だけ聞くと意外性がありそうに聞こえるけど
入力を束ねるとNOTが作れて、ならばANDもORも合成できるってだけのこと
俺はむしろ束ねた入力に対するドライブ能力が1本分でよいことに驚いた
0720デフォルトの名無しさん (ワッチョイ 5bf3-CJGP)
2017/04/19(水) 09:21:23.94ID:2o4P71X40俺も、flip-flopが不思議。
これで、メモリが実現できるってのも、不思議。
なんども、理解したつもりになって、あれ?なんだっけ!
となる。
0721デフォルトの名無しさん (ワッチョイ 1f59-HE/W)
2017/04/19(水) 09:41:15.94ID:DwFiyMU60プロジェクトAに、関数を定義した.cファイルと、その関数のプロトタイプ宣言をしたヘッダーファイルが入っています。
そしてプロジェクトBの.cファイルで、Aのヘッダーファイルをincludeし定義した関数を使うと
外部シンボル"関数名"は未解決です。とエラーが出ます。
どのようにすれば使えるようになるでしょうか?
ちなみに上にあげた3つ全てのファイルを同一プロジェクトに入れた場合は上手くいったので
内容は問題ないと思います。
0722デフォルトの名無しさん (ワッチョイ 2b51-EaKP)
2017/04/19(水) 09:56:29.07ID:NVOSG7Tn0Cで言うところの再帰だね
0723デフォルトの名無しさん (ワッチョイ 5bf3-CJGP)
2017/04/19(水) 10:00:43.68ID:2o4P71X40論理回路では帰還をかけるっていうんだけど、再帰と帰還は同じ意味かなぁ?
0724デフォルトの名無しさん (ワッチョイ 0b28-XQdm)
2017/04/19(水) 10:08:36.13ID:p8FC279M0ようは中身が見つからないよってエラーなんで、libファイルを作るか
中身もプロジェクトに登録しちゃうかすればいい
0725デフォルトの名無しさん (ワッチョイ 2b51-EaKP)
2017/04/19(水) 10:20:04.55ID:NVOSG7Tn0あれかSendMessageじゃなくPostMessageで
同じIDのメッセージを繰り返すパターンみたいなもんか
0726デフォルトの名無しさん (ワッチョイ 1f59-HE/W)
2017/04/19(水) 11:39:50.63ID:DwFiyMU60初学者でそもそもライブラリというものをよく理解できていませんでした。
プロジェクトAをライブラリプロジェクトとして設定することで、前述の形式でも上手くいきました。
回答ありがとうございました。
0727デフォルトの名無しさん (ワッチョイ 4ff3-HE/W)
2017/04/19(水) 12:46:31.52ID:ICxr7JON00728デフォルトの名無しさん (ワッチョイ 1fda-EaKP)
2017/04/19(水) 15:38:58.74ID:8zIV4zu80回路図のエチケットを知らないのまる出しで草生えるな
本来は正論理入力で負論理出力のANDと
負論理入力で正論理出力のORで
1段目のANDよりも右に2段目のORがあり
帰還をかけているワイヤ同士はクロスしないのに
0729デフォルトの名無しさん (JP 0Hef-XQdm)
2017/04/19(水) 18:58:08.94ID:X47Ii0W0HNORラッチの方が理解しやすいのは確か。
え?
http://akademeia.info/index.php?RS%A5%D5%A5%EA%A5%C3%A5%D7%A5%D5%A5%ED%A5%C3%A5%D7
一段だけで帰還が構成されているのでは?
0731デフォルトの名無しさん (ワッチョイ 1fda-EaKP)
2017/04/19(水) 20:19:00.20ID:8zIV4zu80おまえ今日は何グラム入れてるんだ?
そのラリった脳では厳しいかも知れんが
信号の流れを辿って何ゲート通って元の観測点へ戻ってくるか数えてみろ
NAND の出力が NAND の入力に直接帰還しているよ?
0733デフォルトの名無しさん (ワッチョイ 1fda-EaKP)
2017/04/19(水) 21:35:52.99ID:8zIV4zu80あー確かにな
74001個でRSFF作れるもんな
それでNAND1個のつもりなんだ
よかったねーバカで
NAND の出力が NAND の入力に直接帰還しているよ?
TTL ならトランジスタ2個で NAND ゲート1個が作れるよ
https://upload.wikimedia.org/wikipedia/commons/thumb/d/d4/TTL_npn_nand.svg/200px-TTL_npn_nand.svg.png
二段目とかないよ
0736デフォルトの名無しさん (ワッチョイ 9b5c-vZSP)
2017/04/19(水) 22:34:42.99ID:3e789RbQ0俺は評価するよ
0737デフォルトの名無しさん (ワッチョイ db80-EaKP)
2017/04/19(水) 22:50:26.83ID:hzDEZAlD0昨今のテレビの衰退でみんなドリフ並みのメガトン笑いを渇望してるから
0738デフォルトの名無しさん (ワッチョイ 0fe2-epbm)
2017/04/19(水) 22:54:12.47ID:bMwg4OgE0エミッタが2つあるトランジスタって、ディスクリートだとどういう回路で代用すればいいんだろう…
0739デフォルトの名無しさん (ブーイモ MMc7-KrKL)
2017/04/20(木) 00:15:32.38ID:8f2LuB9kMどのNANDの出力がどのNANDに?
0740デフォルトの名無しさん (ブーイモ MMc7-KrKL)
2017/04/20(木) 00:22:01.87ID:8f2LuB9kM直接にはできないんじゃないかな
NORの入力段をpnpにしてベースをgndにつなぐとかでできるかもしれんが
電気的特性がだいぶ変わる
そんなことはいっていないよ
お前のいうことがわからないから聞きなおしているだけだよ
なるほど,でもNANDを直列に二段に書く図面なんてみたことないよ‥
0743デフォルトの名無しさん (ワッチョイ 1f8f-AhUp)
2017/04/20(木) 06:29:11.85ID:dzDslOc/0マルチエミッタもディスクリートだよ
ああいうベース接地はダイオード的な使い方なので
エミッタ接地よりは簡単にダイオードで近似できる
0744デフォルトの名無しさん (ワッチョイ 1f8f-AhUp)
2017/04/20(木) 06:29:57.93ID:dzDslOc/00745デフォルトの名無しさん (ワッチョイ 1ee2-DniR)
2017/04/20(木) 06:53:52.11ID:v2PcEvkm0レス中の言葉を参考に「マルチエミッタトランジスタ」で検索し
http://shin20070212.seesaa.net/article/392218331.html
これのQ3,Q4あたりの回路で代用できそうだとわかりました。
ありがとう
0746デフォルトの名無しさん (ドコグロ MM2b-AsB1)
2017/04/20(木) 07:21:09.57ID:D3pkWduBM0747デフォルトの名無しさん (ワッチョイ 1e75-QHks)
2017/04/20(木) 08:44:57.51ID:h1pZDmmR0結局、フリップフロップも、HDL, PLC も同じ
0748デフォルトの名無しさん (ワッチョイ 8792-BYkr)
2017/04/20(木) 09:04:05.43ID:SMHVPSc+00749デフォルトの名無しさん (ラクッペ MM33-Xafy)
2017/04/20(木) 09:54:19.41ID:KEWTycAlMガチレズっぽい回路で興奮するよね
0750デフォルトの名無しさん (ワッチョイ 1f8f-AhUp)
2017/04/20(木) 18:10:04.32ID:dzDslOc/0いじめたい
0751デフォルトの名無しさん (ワッチョイ bb35-RQEZ)
2017/04/20(木) 18:11:03.22ID:HZYJXQaH0電験三種というのはさすがにレベルが低いのでは?(三種持ち談)
Hi !!
0753デフォルトの名無しさん (ワッチョイ 1f8f-AhUp)
2017/04/20(木) 18:15:42.57ID:dzDslOc/0RSFFをNANDひとつで作る技術を教えてくれ
0754デフォルトの名無しさん (ワッチョイ 46ff-Irzi)
2017/04/20(木) 20:02:02.14ID:sXSbPPmM0そんなことを言ったおぼえはない
そんなことを言ったというのなら,具体的に指摘してみろ
0755デフォルトの名無しさん (ワッチョイ 1f8f-AhUp)
2017/04/20(木) 21:15:56.69ID:dzDslOc/00756デフォルトの名無しさん (JP 0H7f-3eFr)
2017/04/20(木) 22:43:27.28ID:DqAtegP3H0757デフォルトの名無しさん (ワッチョイ 0a76-MAHZ)
2017/04/21(金) 01:05:56.51ID:qgBOXVoB0math.hはincludeしたしコンパイルも-lmオプションつけたのに定義されていない参照ですってなる・・・
0758デフォルトの名無しさん (ワッチョイ 0a76-MAHZ)
2017/04/21(金) 01:07:05.17ID:qgBOXVoB00759デフォルトの名無しさん (ワッチョイ 0a76-MAHZ)
2017/04/21(金) 01:16:38.56ID:qgBOXVoB0意味わからんしね
0760デフォルトの名無しさん (ブーイモ MMef-KrKL)
2017/04/21(金) 01:25:19.12ID:lICwVJkwM0761デフォルトの名無しさん (ワッチョイ 2ec9-HIZF)
2017/04/21(金) 04:27:26.07ID:Pc56TYGS0Cは20年ちょいやってるから単純に引数何だっけかなくらいを調べられればOKです
ネット使えない&スマホはロッカーに保管しなきゃならないセキュリティ厳重な職場に異動になったので
0762デフォルトの名無しさん (アウアウオー Sac2-Xafy)
2017/04/21(金) 04:42:17.36ID:H6APCPmEaどんな環境か知らんが、setbccがやってるような事を環境に合わせてやればええんちゃう?
って事でsetbccでググって参考にしてみて。
0763デフォルトの名無しさん (アウアウオー Sac2-Xafy)
2017/04/21(金) 04:48:10.76ID:H6APCPmEa技術評論社のポケットリファレンスシリーズがC99に対応してた。
言語編とライブラリ編の2冊構成。
C言語辞典だっけ?ってのも評価高かった希ガス。
アマゾンで適当にC言語と辞典とかリファレンスで検索して、お好きなのどうぞで良い気もするけど。
0764デフォルトの名無しさん (ワッチョイ 2ec9-HIZF)
2017/04/21(金) 05:01:31.36ID:Pc56TYGS0参考にさせてもらいます
0765デフォルトの名無しさん (ワッチョイ 8a2b-bojU)
2017/04/21(金) 10:03:16.64ID:le4iIyyX00766デフォルトの名無しさん
2017/04/21(金) 12:03:09.74ID:tIUIoLThO0767デフォルトの名無しさん (ワッチョイ 1eb9-5GSV)
2017/04/21(金) 14:38:54.02ID:pJ0Q6Hqv0その開発環境の標準のヘッダファイルの中の記述を見て済むケースもあるかもねー
0768デフォルトの名無しさん (アウアウウー Sacf-QbKS)
2017/04/21(金) 15:44:19.66ID:Eu/IT/IZaオライリーのCクイックリファレンス第2版とかいいかも
0769デフォルトの名無しさん (アウアウカー Saeb-41eg)
2017/04/21(金) 16:07:29.07ID:UpWhrYhsaオライリー本は分厚いだけあってなかなか
0770デフォルトの名無しさん (ワッチョイ 0a76-dpSJ)
2017/04/21(金) 19:43:41.98ID:qgBOXVoB0クソ初心者なのでなんか変だったらワロてください
環境
OS: Ubuntu MATE 16.10
コンパイラ:gcc
コード
/******************************************
ex8_3.c
0(rad)から2π(rad)までのsinの表を作る
書式指定文字による表示の違いを学ぶため
2017-4-21
******************************************/
#include <stdio.h>
#include <math.h>
main()
{
double theta; //角θ
double ans; //答え
int i; //カウンタ変数
for (i = 0; i <= 20; i++) {
theta = M_PI * (double)i * 0.1;
ans = sin(theta);
printf("%14.4lf %14.4le %14.4lg\n", ans, ans, ans);
}
return 0;
}
0771デフォルトの名無しさん (ワッチョイ 0a76-dpSJ)
2017/04/21(金) 19:44:07.57ID:qgBOXVoB0:~/c$ gcc -lm ex8_3.c
ex8_3.c:10:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
main()
^~~~
/tmp/ccVwCopF.o: 関数 `main' 内:
ex8_3.c:(.text+0x46): `sin' に対する定義されていない参照です
collect2: error: ld returned 1 exit status
0772デフォルトの名無しさん (ワッチョイ bb35-RQEZ)
2017/04/21(金) 19:48:35.11ID:ltNsXQxm0-lm
0773デフォルトの名無しさん (ワッチョイ 0a76-MAHZ)
2017/04/21(金) 19:50:41.68ID:qgBOXVoB0コンパイルの際の-lmオプションなら付けたつもりなんだがもしかしておれ勘違いしてるのか
0774デフォルトの名無しさん (ワッチョイ 8a2b-bojU)
2017/04/21(金) 19:58:48.49ID:le4iIyyX0ttps://forums.ubuntulinux.jp/viewtopic.php?id=13673
0775片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdaa-HtkD)
2017/04/21(金) 19:58:53.26ID:7wWIo+lUd0776デフォルトの名無しさん (ワッチョイ 0a76-MAHZ)
2017/04/21(金) 20:01:58.94ID:qgBOXVoB0ありがとう!!!!!!!!
昨日からずっと中の変数書き換えて試行錯誤してたのでくそ嬉しい
0777デフォルトの名無しさん (エーイモ SE4a-8wDQ)
2017/04/21(金) 23:04:55.94ID:DOzdPvj8Ed = opendir(".")で
sizeof(d)してみると8にしかなりません
100と出ません
どうやって正しくカウントできますか?
0778片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdaa-HtkD)
2017/04/21(金) 23:09:30.97ID:7wWIo+lUdwhile (readdir(d)) count++;
後始末も忘れずに。
0779デフォルトの名無しさん (エーイモ SE4a-8wDQ)
2017/04/21(金) 23:11:50.64ID:DOzdPvj8Eありがとうございます
0780デフォルトの名無しさん (ワッチョイ 2ec9-HIZF)
2017/04/22(土) 01:43:00.38ID:0WIHEwtq00781デフォルトの名無しさん (JP 0Hc7-gHWX)
2017/04/22(土) 11:15:59.67ID:UEy9WSpBH君は最低限やってくれればいい
後はプログラマー(俺)が何とかする
あと sizeof はわかりにくいけど今後も C を使うならしっかり理解すべき
0782デフォルトの名無しさん (ワッチョイ 0a1a-AhUp)
2017/04/22(土) 16:39:03.18ID:bB5FqC4/0頼んだことだけを確実にやれ、余計なことを勝手にやるな
俺が何を考えているかは俺の領分で、おまえはしゃしゃり出るな
あとsizeofの結果を予測しきれないバカはいじけるまで罵ってやれ
だろうjk
0783デフォルトの名無しさん (ワッチョイ abae-PBrc)
2017/04/22(土) 16:47:18.76ID:+5rvIbLJ0プログラマー君は自由に書いてくれ
俺は書いたとおりに動くから
あと sizeof は size がメモリ上のサイズなことだけ理解すればいい
俺様の指示どおりに malloc()/free() しろ、それさえ守れれば俺様が好きに使ってやる
俺様が void * といったら void * なんだ、具体的なサイズは俺様が正確に把握しているから文句をいうな
sizeof?しらん、好きにしろ、いざとなったら俺様が #define すればすむ話
0785デフォルトの名無しさん (ワッチョイ 6aed-m8Mb)
2017/04/23(日) 01:51:17.42ID:GzSJWa/20ですか?
0786デフォルトの名無しさん (ワッチョイ 0e70-OKBh)
2017/04/23(日) 03:08:12.68ID:H8Cvp+NU00787デフォルトの名無しさん (ワッチョイ 8792-cWbb)
2017/04/23(日) 03:45:48.05ID:lA2wjBqB0http://sdcc.sourceforge.net/
0788デフォルトの名無しさん (ワッチョイ 0a66-AhUp)
2017/04/23(日) 06:53:44.96ID:tNuy8rra0x64環境ではWin16が使えないとか言われてるけど
x64ホストにx86ゲストを作れば、その中でWin16は普通に使える
つーことはx64では仮想86が使えないなんて嘘ってことだ
0789デフォルトの名無しさん (ワッチョイ 8792-BYkr)
2017/04/23(日) 07:58:36.97ID:lA2wjBqB0今更わざわざ試してみる気はないけど…
http://i.imgur.com/88M1VwL.png
0790デフォルトの名無しさん (ワッチョイ 8a3c-AsB1)
2017/04/23(日) 10:10:01.48ID:OLTDB5Ux0そりゃ仮想マシンでよけりゃなんでもありありだわな
0791デフォルトの名無しさん (ワッチョイ 2756-2VNN)
2017/04/23(日) 11:56:01.75ID:VmCxZvh+0near ポインタ
0792デフォルトの名無しさん (ワッチョイ bf92-97Qr)
2017/04/23(日) 12:17:30.03ID:gAaWGuwA00793デフォルトの名無しさん (ワッチョイ 7fc2-3eFr)
2017/04/23(日) 12:48:36.00ID:vYXnpSRG0スーファミもPS2も動くしな。
0794デフォルトの名無しさん (ワッチョイ 8792-BYkr)
2017/04/23(日) 13:00:50.97ID:lA2wjBqB0もはやC言語処理系の話ですらないな
0795デフォルトの名無しさん (ワッチョイ 1ff9-AhUp)
2017/04/25(火) 15:17:32.54ID:KWfMbSXU016bit環境なら↓で落としてvirtualboxで動かせば?
https://winworldpc.com/library/
0796デフォルトの名無しさん (ワッチョイ 0a72-x1G/)
2017/04/25(火) 22:31:34.41ID:npds17lG0各行ごとに教えてください。おねがいします。
#include<stdio.h>
#include<ctype.h>
int main(void){
char s[]="Spring\tSummer\tAutumn\tWinter";
int i = 0;
unsigned int value = 0,num;
int count = 0;
for(i=0;s[i] != '\0';i++){
if(isspace(s[i])){
count++;
}else if(isxdigit(s[i])){
num = toupper(s[i]) - 'A' + 10;
value *= 16;
value += num;
}
}
printf("count = %d\n",count);
printf("value = %u\n",value);
return 0;
}
0797デフォルトの名無しさん (ワッチョイ abae-XKVh)
2017/04/25(火) 22:34:12.04ID:9EUo4uCt00798デフォルトの名無しさん (ワッチョイ 8a96-0iG2)
2017/04/25(火) 23:24:13.67ID:y0mNrhgR00799デフォルトの名無しさん (ワッチョイ 1e1f-MAHZ)
2017/04/25(火) 23:48:55.94ID:sIXYwkrg0isxdigit
toupper
isで始まる関数は判定を行う
toで始まる関数は文字の変換を行う
どういう判定、変換をするのかは、
今教わっている教科書を読んでみる
その上で、
toupper(s[i]) - 'A' + 10 が何をしているかが分からない時は
もう一度質問しにくるといい
今よりも多分理解してきたと思うし
0800デフォルトの名無しさん (ワッチョイ ab75-QHks)
2017/04/26(水) 04:28:10.14ID:dix/8AKS0for(i=0;s[i] != '\0';i++){
if(isspace(s[i])){ // 空白なら
count++;
}else if(isxdigit(s[i])){ // 16進数字なら
// 小文字を大文字にして、A を起点にしてから、さらに10を足す
num = toupper(s[i]) - 'A' + 10;
value *= 16;
value += num;
}
}
コードを書くよりも、コードを読む方が、何倍も時間がかかるから、コードを読まないように
「仕様書 → コード」は簡単だが、「コード → 仕様書」は難しい。
なぜなら、仕様書は人間に近い表現だが、コードは機械に近い表現だから
「コード → 仕様書」は難しいから、やってはいけない
0801片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdaa-HtkD)
2017/04/26(水) 04:44:29.36ID:ZFKZUpWMdそれ、数字の場合に間違ってるよ。
0802デフォルトの名無しさん (ブーイモ MMaa-KrKL)
2017/04/26(水) 06:21:47.96ID:/hy+QkuhM読まずにデバッグできるかよ
0803ich1 (アウアウウー Sacf-CGRX)
2017/04/26(水) 07:31:03.11ID:KcpaNie5aこれは嘘でしょ?
本当なら落ち込むわ。。
0804デフォルトの名無しさん (ワッチョイ bff3-QkHB)
2017/04/26(水) 09:32:03.32ID:3mj2KO3W0美容、健康は嘘がまかり通ってるからなぁ。
ついでに生化学、医学も同じ。
特に、統計の知識、検定力を無視した統計分析からは、おかしな結果が出てくる事がある。
例:xxx万人の調査から、yyyってのが明らかになった。
0805デフォルトの名無しさん (ササクッテロル Sp23-EGrg)
2017/04/26(水) 10:28:21.96ID:H1kYZtUSp>>800
796ですが解決しました。
isxdigitが具体的に分かっていませんでした。
ありがとうございます。
0806デフォルトの名無しさん (ワッチョイ 1e1f-MAHZ)
2017/04/26(水) 11:44:19.80ID:PFRt72KQ0設問で与えている文字列の範囲で処理するのだから構わないでしょう
0807デフォルトの名無しさん (ワッチョイ 1fba-AhUp)
2017/04/26(水) 11:49:29.59ID:iP2k3JrG00808デフォルトの名無しさん (ワッチョイ cfcd-MAHZ)
2017/04/26(水) 18:54:57.22ID:B4gGsvYj0ASCIIかつ与えられた文字列だけ処理する前提で十分だろ
0809デフォルトの名無しさん (ワッチョイ 533c-OoJT)
2017/04/26(水) 20:23:55.90ID:9Ogkzjvi0二進数理解することってC言語を学ぶ上でどんなときに必要になるんですか?
わかりやすく説明いただけると助かります。
0810デフォルトの名無しさん (ワッチョイ 1e1f-MAHZ)
2017/04/26(水) 20:25:22.23ID:PFRt72KQ0連続していないという文字コード体系はないのではないかな?
そこまで想定するとしたら、加減算ではなくテーブルルックアップでやるのかな
0811デフォルトの名無しさん (ブーイモ MMc7-lqRy)
2017/04/26(水) 20:46:44.02ID:0C8+NbMrMC言語を「学ぶ」事に限定すれば、2進数を理解する必要は無いんじゃないかな。
0812片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdaa-HtkD)
2017/04/26(水) 20:54:24.55ID:ZFKZUpWMd2進数一桁が1ビットに相当することは知ってるだろう。C/C++ではビット単位の演算ができる(~, |, &, ^)。
たいていのパソコンでは8ビットが1バイトだ。ほとんどの場合、charが1バイトになる。
これはsizeof(char)で確認できる。つまり、char型の変数には8桁の符号つき2進数に相当する整数を格納できる。つまり
256は、charには格納できない。
0813片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdaa-HtkD)
2017/04/26(水) 21:00:01.47ID:ZFKZUpWMd整数をファイルに出力したり、ファイルから読み出すときに、バイト数は重要になる。
C/C++ではさまざまなバイトサイズの型の変数を操れる。
0814デフォルトの名無しさん (ドコグロ MMaa-3eFr)
2017/04/26(水) 21:15:32.26ID:uVr9LBvIM0815片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdaa-HtkD)
2017/04/26(水) 21:19:43.42ID:ZFKZUpWMdまた、配列や動的メモリーというものを使えば、連続したアドレスを確保できる。
C/C++は開かれている。OSを書けるほど自由なんだ。
0816デフォルトの名無しさん (ワッチョイ 1ee2-DniR)
2017/04/26(水) 21:21:49.04ID:j3HgHy9g0Windows Me のスクリーンショットが全部ブルースクリーンでわろたw
0817片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdaa-HtkD)
2017/04/26(水) 21:28:47.48ID:ZFKZUpWMd0818デフォルトの名無しさん (ワッチョイ 1e1f-MAHZ)
2017/04/26(水) 21:33:11.53ID:PFRt72KQ00819デフォルトの名無しさん (ワッチョイ 1fba-9YAC)
2017/04/26(水) 21:45:48.33ID:iP2k3JrG0なのに狭い村のルールを世界標準にしたがる
地球全体のカッペが次から次へとくだらん言いがかりをつけてくるよな
0820片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sdaa-HtkD)
2017/04/26(水) 21:47:43.68ID:ZFKZUpWMd投資効率、人件費、言語の壁、どれをとっても伝統的な日本企業は勝てないよ。
0821デフォルトの名無しさん (ワッチョイ 7f54-2dAw)
2017/04/26(水) 21:57:18.86ID:H5XmXuTS0言語の壁でかいよなぁ。
0822デフォルトの名無しさん (ワッチョイ 7fc2-3eFr)
2017/04/26(水) 22:32:23.33ID:GreYiU3v00823デフォルトの名無しさん (ワッチョイ 1e1f-MAHZ)
2017/04/26(水) 22:35:20.83ID:PFRt72KQ00824デフォルトの名無しさん (ワッチョイ 1fdf-3WpC)
2017/04/26(水) 22:39:10.35ID:5DpYjYxD00825デフォルトの名無しさん (ワッチョイ 8a96-0iG2)
2017/04/26(水) 23:03:58.71ID:u7C4hzJq00826デフォルトの名無しさん (ワッチョイ 8a96-0iG2)
2017/04/26(水) 23:09:22.70ID:u7C4hzJq0Tーkernelとルネサスのチップ使えば?
世界征服はTOYOTAがやってくれてるじゃん。
0827デフォルトの名無しさん (ワッチョイ 0a21-lqRy)
2017/04/26(水) 23:23:41.08ID:omXG80eo0ビット演算に2進数はあまり関係ないと思うけど。
0828デフォルトの名無しさん (ワッチョイ 1fdf-3WpC)
2017/04/26(水) 23:36:29.06ID:5DpYjYxD00829デフォルトの名無しさん (ワッチョイ 1fdf-3WpC)
2017/04/26(水) 23:40:03.45ID:5DpYjYxD00830デフォルトの名無しさん (ワッチョイ 8a96-0iG2)
2017/04/26(水) 23:45:15.67ID:u7C4hzJq0そう?
ビット演算するときは二進数で値を表現するけどね。
0x12って書くより00010010って書いた方がマスクしたりシフトしたりしやすくない?
0831デフォルトの名無しさん (ワッチョイ 8a96-0iG2)
2017/04/26(水) 23:59:26.50ID:u7C4hzJq0ミドルだろうがplatformだろうが今の日本にはITで世界をリードできるものが少ない事実だよね。
でもそれは研究費の選択と集中をしただけであって、今でも世界でも通用する技術はあるよ。ルネサスでもfelicaでも、μItronでも、すごい技術だと個人的には思うんだけどね。
世界征服できるかはビジネスと絡むから色々難しさはあるだろうけど。
0832デフォルトの名無しさん (ワッチョイ 7b6b-L1Lv)
2017/04/27(木) 00:54:47.76ID:W/IpW5MW0Cに2進数表現は無いでしょ?
重箱の隅の様で申し訳ないけど…
0833デフォルトの名無しさん (ドコグロ MM7f-lWNK)
2017/04/27(木) 06:44:35.17ID:LtunFxe4M対象によるだろ
バイト単位でマスクするなら 0x000000ff, 0x0000ff00 の方が分かりやすいし
ビット単位でも桁数が多いと16進の方が楽だし
0834デフォルトの名無しさん (ワッチョイ 5fda-WBDQ)
2017/04/27(木) 06:58:47.69ID:oSk5cO+B0勝ちかけたのにクリントンにやられたんだよ
0835デフォルトの名無しさん (ワッチョイ 5bae-pkgA)
2017/04/27(木) 06:59:51.73ID:luSli2q70gccなら使えるけどね・・・
0836デフォルトの名無しさん (ワッチョイ 5fb6-L5sk)
2017/04/27(木) 11:04:07.67ID:XTQI/lN20c++にはあるね
0837デフォルトの名無しさん (ワッチョイ 6f13-P0NY)
2017/04/27(木) 11:12:58.43ID:rfmHKJdL0ずっと組み込みで使われてきてるのに、2進表記がないんだよね。
0838デフォルトの名無しさん (JP 0H1f-1Y5j)
2017/04/27(木) 11:28:48.85ID:LJbuWXuoHそれともお前ら、16進見て2進数思い浮かばないの?
0839デフォルトの名無しさん (ワッチョイ 7bb9-XZJj)
2017/04/27(木) 12:20:53.82ID:5fCXpicr0そんときはマクロ使ってる
0840デフォルトの名無しさん (ササクッテロル Sp1f-PXQB)
2017/04/27(木) 13:05:39.55ID:ey25EfiQpchar型に符号があるかは規定されて無かったはず
0841デフォルトの名無しさん (ワッチョイ 4ff3-Ahd3)
2017/04/27(木) 14:56:03.78ID:YeWsTkIw0LSBとMSBはときごきごっちゃになるねん
0842片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd7f-Zq4q)
2017/04/27(木) 16:58:08.66ID:Nwh2sTTfd0843デフォルトの名無しさん (ワッチョイ dbd4-FeVf)
2017/04/27(木) 19:14:54.61ID:sfFozIq500844デフォルトの名無しさん (ワッチョイ 0bc2-J0sa)
2017/04/27(木) 21:00:30.16ID:80bkT6jQ0Largest Significant Bit
Minimum Significant Bit
ちゃんと覚えろよ。
0845デフォルトの名無しさん (ワッチョイ 0b54-uXsk)
2017/04/27(木) 21:48:08.10ID:v1goNDLa0お前こそ、インチキばら撒くな!
Least Significant Bit
Most Significant Bit
0846デフォルトの名無しさん (ワッチョイ 7bab-L1Lv)
2017/04/27(木) 23:13:35.02ID:jJ44RZUT0人が悪すぎだろw
0847デフォルトの名無しさん (ワッチョイ cbc8-ymwg)
2017/04/29(土) 05:41:03.43ID:ccm/X45r0A,B,Cという処理があったとしてそれぞれをある確率に従って実行したいんですが
その場合どういう書き方が一番スマートでしょうか?
それぞれまったく等しくなら単純に1/3としてrand()の結果に従えばいいだけですが
A=3,B=5,C=2みたいな形にしたい場合はどのように書くのがいいでしょうか?
0848デフォルトの名無しさん (ワッチョイ 6f92-fb7/)
2017/04/29(土) 07:24:58.66ID:gnS1oH9P0else if(8/10 <= rand()) b();
else c();
0849デフォルトの名無しさん (ワッチョイ 0b92-PAjp)
2017/04/29(土) 07:39:57.26ID:xw7lDITZ0rand()を2回使うとダメ、同じ条件(変数値)を利用しないと確率が変わる
そのプログラム構造では質問者の意図から外れる
a()の確率 3/10=0.3
b()の確率 (1-0.3)*8/10=0.56
c()の確率 1-0.56=0.44
0850デフォルトの名無しさん (ワッチョイ 0b92-PAjp)
2017/04/29(土) 07:41:43.59ID:xw7lDITZ0c()の確率 1-0.3-0.56=0.14
0851デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)
2017/04/29(土) 07:54:47.73ID:ggsZ+ODY00852デフォルトの名無しさん (アウアウカー Sa1f-I6Fm)
2017/04/29(土) 08:09:29.95ID:hTOUScoaaA 30以下だったら
B 80以下の数字だったら
C else
0853デフォルトの名無しさん (ワッチョイ 0b92-PAjp)
2017/04/29(土) 08:23:25.38ID:xw7lDITZ0if ((r = rand()) <= (double)3/10) a();
else if (r <= (double)8/10) b();
else c();
0854デフォルトの名無しさん (ワッチョイ 8bdf-wADs)
2017/04/29(土) 08:33:58.54ID:N8p+LVXq0int cnt[3] = {0};
for (int i=0; i<10000; i++) {
int prob = rand()%10;
if (prob < 3) { cnt[0]++; }
else if (prob > 4) { cnt[1]++; }
else { cnt[2]++; }
}
printf("A:%d B:%d C:%d¥n", cnt[0], cnt[1], cnt[2]);
0855デフォルトの名無しさん (ワッチョイ 0b92-PAjp)
2017/04/29(土) 08:34:00.89ID:xw7lDITZ0>>853は間違い
0856デフォルトの名無しさん (ワッチョイ db28-1Y5j)
2017/04/29(土) 09:39:55.56ID:XzsrE9yB00857デフォルトの名無しさん (アウアウウー Sa9f-YKnx)
2017/04/29(土) 10:33:24.54ID:vsTnLVa8a0858デフォルトの名無しさん (ワッチョイ 5bae-pkgA)
2017/04/29(土) 11:51:53.13ID:gRCJQf6F0普通に作ればこんな感じ
#include <stdio.h>
#include <stdlib.h>
int a,b,c;
int A=3, B=5, C=2;
sub() {
double d = drand48() * (A+B+C);
if(d < A) {
a++;
}else if(d < (A+B)) {
b++;
}else{
c++;
}
}
main(){
int i;
for(i=0; i<1000;i++) {
sub();
}
printf("A=%.3f%% B=%.3f%% C=%.3f%%\n",
a*100/1000.0, b*100/1000.0, c*100/1000.0); //=> A=30.400% B=50.000% C=19.600%
}
08590847 (ワッチョイ cbc8-ymwg)
2017/04/29(土) 12:57:46.04ID:ccm/X45r0単純に考えて例えば配列の表を作って
それに、b,b,a,c,b,b,a,c,b,a とか割り振って
rand()で適当に決定でもいいのかな?
10000回まわしたら大体a=3,b=5,c=2で収束したので。
0860デフォルトの名無しさん (ワッチョイ 5f6b-J0sa)
2017/04/29(土) 13:08:38.87ID:4VT3hv2u00861デフォルトの名無しさん (ドコグロ MM7f-lWNK)
2017/04/29(土) 13:08:54.15ID:lkMDrCJ9M>>858 は本質的には a, a, a, b, b, b, b, b, c, c って割り振ってるのと同じだから
0862デフォルトの名無しさん (ワッチョイ cbc8-ymwg)
2017/04/29(土) 21:45:38.38ID:ccm/X45r0ああ本質的には同じってわけだね。
あとは自分が表現しやすい方でいいってことかな?
要するに考え方はこれで問題ないってことで。
0863デフォルトの名無しさん (エーイモ SE7f-cD9Q)
2017/04/29(土) 22:21:08.89ID:l/gdy+P/E検索しても文字列を1つずつ文字と比較して該当文字があればそこに文字を再代入するようなやり方しかヒットしないのですが
0864デフォルトの名無しさん (アウアウウー Sa9f-YKnx)
2017/04/29(土) 22:23:28.12ID:y1rMzUYGaが、randの偏りが自分の中で許容範囲内なら別にどうでもいい
0865デフォルトの名無しさん (ワッチョイ cbc8-ymwg)
2017/04/29(土) 22:34:27.06ID:ccm/X45r0あとはrandとdrand48の違いって事ですね。
ありがとうございます。
0866デフォルトの名無しさん (アウアウカー Sa1f-I6Fm)
2017/04/29(土) 22:42:29.06ID:UTCBieBIastrstrで文字列を探しstrlenで長さを調べその位置まで書き込む
その後に置き換える文字を書き込む
後の部分を書き込む
0867デフォルトの名無しさん (エーイモ SE7f-cD9Q)
2017/04/29(土) 23:41:31.13ID:l/gdy+P/Eなるほど
C言語って全部自分で面倒見ないといけないんですね
phpみたいに用途ごとに関数が用意されていると思ってました
カルチャーショックを受けてるなうでうs
0868デフォルトの名無しさん (アウアウカー Sa1f-YKnx)
2017/04/29(土) 23:52:53.52ID:87XG9qKia0869デフォルトの名無しさん (ワッチョイ 9fff-qIlJ)
2017/04/30(日) 11:48:12.56ID:Zv70jJMx00870デフォルトの名無しさん (ワッチョイ 0f1f-VhBr)
2017/04/30(日) 12:19:38.81ID:jTcDgcD/00871デフォルトの名無しさん (ワッチョイ 9fff-qIlJ)
2017/04/30(日) 13:53:16.93ID:Zv70jJMx00872デフォルトの名無しさん (ワッチョイ 5f86-DhJm)
2017/04/30(日) 16:39:04.28ID:Mzq9354r0そういう言語
0873デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)
2017/04/30(日) 17:03:01.22ID:Rh9C8HGt0リストとマップはわかるけど配列を自作しないとダメな環境って...
0874デフォルトの名無しさん (ワッチョイ cbcd-VhBr)
2017/04/30(日) 17:11:19.52ID:gDvuhIem00875デフォルトの名無しさん (ワッチョイ 9fff-qIlJ)
2017/04/30(日) 18:03:43.77ID:Zv70jJMx0Cじゃハッシュって言うことが多いけど
0876デフォルトの名無しさん (ワッチョイ cbcd-VhBr)
2017/04/30(日) 18:15:56.86ID:gDvuhIem0そういうのはマップ自作は理解的でも配列自作を理解できない>>873に言ってあげて
0877デフォルトの名無しさん (ドコグロ MM1f-lWNK)
2017/04/30(日) 18:30:40.72ID:3ckUqlZnM動的配列も基本的にmalloc()で確保するだけのことでアクセスする部分はサポートされてるから自作と言うほどのものじゃないし
0879デフォルトの名無しさん (ワッチョイ 8bf9-WBDQ)
2017/04/30(日) 21:33:34.74ID:Pxnbiwmk0その関数群とやらを提供する立場の者が使う言語なんだよ
何にもないってそこで嘆くのは愚かなことだ
だからあんたがそこに呼ばれたのに
0880デフォルトの名無しさん (ワッチョイ 8bdf-wADs)
2017/04/30(日) 21:44:44.80ID:Lu7GCTk80案外 c++ の vector かもしれない
0882デフォルトの名無しさん (ワッチョイ 0f1f-VhBr)
2017/04/30(日) 22:03:34.03ID:jTcDgcD/00883デフォルトの名無しさん (ワッチョイ 0b92-sfYr)
2017/04/30(日) 22:06:12.07ID:TA4Hx/9q0連結リストは要素の途中挿入が容易だけど動的配列では無理
両者は異なるデータ構造
0884デフォルトの名無しさん (ワッチョイ 0f1f-VhBr)
2017/05/01(月) 01:06:34.48ID:/mCI59KR0実行時に必要なサイズの配列を確保し
不要になったら解放するという意味で、
要素の追加や削除の機能は提供しないと言うことですね
これだと自作と呼ぶには物足りない気がする
0885デフォルトの名無しさん (ワッチョイ 8bdf-wADs)
2017/05/01(月) 01:35:43.07ID:J7HugZOh0配列じゃなくてコレクションと言わないと、Cの文脈では意味が通じないだろう
コレクションは連結リストで作るよ
0886デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)
2017/05/01(月) 07:36:24.48ID:It0eo2Yd0べつに連結リストでもランダムアクセスはできるし動的配列でも挿入削除は可能
ただ遅いと言うだけ
0887デフォルトの名無しさん (ワッチョイ 0b92-PAjp)
2017/05/01(月) 10:30:48.16ID:OSlA3sT+0それ言い出すとスタックだろうがキューだろうが、実行速度は遅くメモリ効率も悪くなるけどやろうと思えば出来る
ただしそんなことすればデータ構造そのものの意味がなくなる
0888デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)
2017/05/01(月) 10:38:13.10ID:It0eo2Yd0> それ言い出すとスタックだろうがキューだろうが、実行速度は遅くメモリ効率も悪くなるけどやろうと思えば出来る
(少なくとも単体では)はできないでしょ
やるために別に配列用意するとか言いそう w
0889デフォルトの名無しさん (ワッチョイ 0b92-sfYr)
2017/05/01(月) 10:51:55.89ID:OSlA3sT+0動的配列で2本の間でデータのやり取りしながら要素の挿入するのと同じ
0890デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)
2017/05/01(月) 11:03:35.02ID:It0eo2Yd0だからそれって「単体」じゃないだろ
他になにかを使っていいならそりゃなんでもありありだよ
0891デフォルトの名無しさん (ワッチョイ 5b3c-ZmVS)
2017/05/03(水) 09:41:03.05ID:PsoWO9250http://i.imgur.com/AZ8KgXf.png
http://i.imgur.com/kedY19y.png
この問題なんだが、ヒントの通りにやってみたが全く分からん
やっぱエスケープシーケンスとか使うの?
int main() {
int x, y;
x=0;
y=0;
for(;;) {
printf("\033[H\033[J");
print_ret(y);
print_spc(x);
printf("(V)oo(V)");
printf("x >> ");
scanf("%d", &x);
printf("y >> ");
scanf("%d", &y);
}
0892デフォルトの名無しさん (ワッチョイ 9fff-qIlJ)
2017/05/03(水) 10:31:35.23ID:+RmyCFf30>printf("\033[H\033[J");
これがエスケープシーケンスだろ
環境依存だよ、環境何?
もしWindowsで、
XPとかならANSI.SYS組み込みで
7以降ならansicon使っては
0893デフォルトの名無しさん (ワッチョイ 5b3c-KGu8)
2017/05/03(水) 10:48:08.22ID:PsoWO9250大学の環境だから詳しいことは分かんないけど、VMwareでUbuntu使ってる
0894デフォルトの名無しさん (ワッチョイ 5f3c-lWNK)
2017/05/03(水) 11:07:17.15ID:yMHwWAzs0> 詳しいことは分かんないけど
ならまずそこから調べろよ
お前さんの環境は俺らにはわからんのだから
0895デフォルトの名無しさん (ワッチョイ cbcd-VhBr)
2017/05/03(水) 11:13:49.44ID:AX7ZOydL0ANSI云々というより、改行文字の読み捨てできずにscanfで数字取れてないとかだろ
0896デフォルトの名無しさん (ワッチョイ 9fff-qIlJ)
2017/05/03(水) 11:44:23.30ID:+RmyCFf30んじゃターミナルは?
VT100エミュレーションするターミナル使えばいけるかもよ
0897デフォルトの名無しさん (ワッチョイ 5f92-PAjp)
2017/05/03(水) 11:58:29.06ID:FFUwcBml0int x, y; // 現在座標
int fx, fy; // 目標座標
int d;
printf("x >> "); // 目標x座標設定
scanf("%d", &fx);
printf("y >> "); // 目標y座標設定
scanf("%d", &fy);
if (fx >= fy) d = 2 * fy - fx; // 初期設定
else d = 2 * fx - fy;
x = 0; y = 0;
for (;;) {
if (x > fx || y > fy) break; // 終了判定
// 描画
printf("\033[H\033[J");
print_ret(y);
print_spc(x);
printf("(V)oo(V)");
// 座標更新
if (fx != 0 && fy == 0) x++;
else if (fx == 0 && fy != 0) y++;
else if (fx >= fy) {
x++;
if (d > 0) y++, d += 2 * (fy - fx);
else d += 2 * fy;
} else {
y++;
if (d > 0) x++, d += 2 * (fx - fy);
else d += 2 * fx;
}
return 0;
}
0898デフォルトの名無しさん (JP 0H9f-CxRO)
2017/05/03(水) 16:52:46.95ID:vae9tRPyHキー入力は必要ないとみたがw
一定の速さで横に進むとかそういう単純な課題じゃないの
つまり画面クリア以外は特殊なこと何もしてない
0899デフォルトの名無しさん (ワッチョイ 5bae-pkgA)
2017/05/03(水) 17:21:58.99ID:tt/7nJiL0そのコードは fflush(stdout) しないとうまくいかない
かもしれない
0900デフォルトの名無しさん (ワッチョイ 4b78-Ahd3)
2017/05/03(水) 19:16:33.48ID:SQdYOQFp0自スレがでてくるな
0902片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd7f-Zq4q)
2017/05/03(水) 21:13:58.28ID:/tZ+edl3dstrcat(buf, "def");
strcat(buf, "ghi");
↓↓↓
stpcpy(stpcpy(stpcpy(buf, "abc"), "def"), "ghi");
どうだ? 早くなっただろう。
0903デフォルトの名無しさん (ワッチョイ 7b19-L1Lv)
2017/05/03(水) 23:04:39.46ID:DzqQO5zv0いや、それ駄目だろ
0904デフォルトの名無しさん (ワッチョイ 7b19-L1Lv)
2017/05/03(水) 23:08:03.87ID:DzqQO5zv00905デフォルトの名無しさん (ワッチョイ e7ff-9Vi6)
2017/05/04(木) 01:23:16.34ID:hVadC+uu0これ豆な。
0906片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd52-5sSZ)
2017/05/04(木) 11:42:31.79ID:N2R6QoSBd0907デフォルトの名無しさん (ワッチョイ a3cd-W+y+)
2017/05/04(木) 12:17:32.80ID:R9kS/Khl00908897 (ワッチョイ b292-k53w)
2017/05/04(木) 12:22:25.80ID:/O9MDtVN0>>897のコードを微修正
Windows10 の Bash on Ubuntu (gcc) で動作確認済
http://codepad.org/ZR7crWFD
0909片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd52-5sSZ)
2017/05/04(木) 15:04:41.90ID:N2R6QoSBd0910デフォルトの名無しさん (ワッチョイ 9354-suAR)
2017/05/05(金) 22:42:31.86ID:Z9Nf52YF0コテハン叩きはクズ。
これ豆。
0911デフォルトの名無しさん (ワッチョイ 360d-vxmx)
2017/05/06(土) 07:05:38.59ID:0i6S915U00912デフォルトの名無しさん (ワッチョイ 8378-Ogwz)
2017/05/07(日) 01:32:10.00ID:Uj6MJYMY00913デフォルトの名無しさん (ワッチョイ 761f-dJIr)
2017/05/07(日) 10:29:57.81ID:RBu7YsoC0こいつこいつ
0914デフォルトの名無しさん (ワッチョイ 3272-FJfx)
2017/05/07(日) 14:03:52.04ID:damFfeIe0ファイルを検索するキーを対話形式によって読み取り、その検索キーでファイル内を検索する。
該当するキーが見つかった場合、それに対応している文字列を表示する。
「end」が入力されるまで入力を続ける。
txt内↓
abc=東京都
def=48
ghi=中野
処理内容
(終了:end)
> abc
*結果*
東京都
(終了:end)
> def
*結果*
48
(終了:end)
> end
ファイル検索を終了します
といった感じでプログラムを作成したいです。
皆様の知恵をおかしください宜しくお願いします。
0915デフォルトの名無しさん (ワッチョイ e2ff-9WxF)
2017/05/07(日) 14:15:00.61ID:6tEBTIuo0ハッシュ(というかディクショナリというか連想配列というか)の出番じゃないかなあ
0916デフォルトの名無しさん (ワッチョイ e2ff-9WxF)
2017/05/07(日) 14:17:32.90ID:6tEBTIuo01行ずつ=で分けてチェックするだけでいいような
SQLite組み込んで突っ込んでSQLで検索、、が応用ききそうな
0917デフォルトの名無しさん (ワッチョイ 3272-3eBY)
2017/05/07(日) 14:19:23.86ID:damFfeIe0入力した文字の=の後を出力するだけで大丈夫です
0918デフォルトの名無しさん (ワッチョイ 761f-W+y+)
2017/05/07(日) 14:33:36.06ID:RBu7YsoC00919デフォルトの名無しさん (ワッチョイ 726b-7yzm)
2017/05/07(日) 15:04:31.69ID:U5ljnRqU00920デフォルトの名無しさん (ワッチョイ df92-Ogwz)
2017/05/07(日) 15:10:18.09ID:wbXNocgy0「math.hをincludeしてfmax使え」っていうようなもんだな
0921デフォルトの名無しさん (ワッチョイ 3272-3eBY)
2017/05/07(日) 15:17:51.29ID:damFfeIe0>>919
grep関数を使えばできるんですか?
他にも必要であろう関数を教えてください…!
0922デフォルトの名無しさん (ワッチョイ 93c2-CFIq)
2017/05/07(日) 16:07:04.02ID:a8ky/5Ct0strlen()
strncmp()
strncpy()
を使うのだが講義中に解説した関数を使う必要があるんじゃないか?
0923デフォルトの名無しさん (ワッチョイ ef00-8Vn8)
2017/05/07(日) 16:55:03.76ID:weBnw+MW00924デフォルトの名無しさん (アウアウカー Sa1f-3eBY)
2017/05/07(日) 16:56:36.59ID:W+U2yKaka会社からのちょっとした課題なのです
strncmpって比較するやつですよね?どのように使うのですか?
0925デフォルトの名無しさん (ワッチョイ 93c2-CFIq)
2017/05/07(日) 17:58:23.46ID:a8ky/5Ct0strncmp()でテンポラリバッファと入力行を検索キーの長さ+1で
比較して、一致すればその行が対象の行
後は入力行を検索キーの長さ+1からコピーするという考えなんだが
ポインタをちゃんと理解しておく必要があるよ
0926デフォルトの名無しさん (ワッチョイ 761f-W+y+)
2017/05/07(日) 18:00:15.37ID:RBu7YsoC00927デフォルトの名無しさん (ワッチョイ 761f-W+y+)
2017/05/07(日) 18:03:32.33ID:RBu7YsoC00928デフォルトの名無しさん (ワッチョイ df35-fQLC)
2017/05/07(日) 18:59:32.16ID:qkFjvNg900929デフォルトの名無しさん (ササクッテロル Spf7-A0Hw)
2017/05/07(日) 19:21:42.66ID:QHBKzIfjp0930デフォルトの名無しさん (ワッチョイ 0fae-zTK6)
2017/05/07(日) 19:23:35.71ID:Q7lJInN40会社に迷惑かけるだけ
0931デフォルトの名無しさん (ワッチョイ b792-uLsZ)
2017/05/07(日) 22:50:01.23ID:r5TNUCav0https://ideone.com/Q47H1u
内容的には昔懐かしiniファイルそのものだな
特に要件にはないけど前後の余分な空白文字にも対応しておいた
0932デフォルトの名無しさん (ワッチョイ 3272-3eBY)
2017/05/07(日) 23:21:51.89ID:damFfeIe0現在動作確認できる環境にないのですが参考にさせていただきます
本当にありがとうございます!!
0933デフォルトの名無しさん (ワッチョイ df92-Ogwz)
2017/05/07(日) 23:54:19.19ID:wbXNocgy0>会社
プログラマー板へお帰りください
0934デフォルトの名無しさん (ワッチョイ 2792-k53w)
2017/05/08(月) 00:11:58.40ID:PkDat4Yg0>>924
0935デフォルトの名無しさん (ワッチョイ 8378-Ogwz)
2017/05/08(月) 01:41:44.81ID:oCgp2bjt00936デフォルトの名無しさん (オッペケ Srf7-9Vi6)
2017/05/08(月) 09:21:00.00ID:Qo0cge29rよう、糞コテ
0937デフォルトの名無しさん (スップ Sd72-Hpsk)
2017/05/09(火) 10:03:17.30ID:2qAdcsDCdPCで実行してます
今はネット開通してないので…
文字列にaを入力したら、
出力がフフフフフフフフ装でした
正しく出力するにはどうしたらいいでしょうか?
実行環境はwindows7 visualstudio2015です
#include<stdio.h>
int main(void)
{
char str[15];
printf(“文字列を入力:“);
scanf_s("%s",str);
printf(“%s¥n,str);
return 0;
}
0938デフォルトの名無しさん (スププ Sd52-1AEn)
2017/05/09(火) 10:09:01.29ID:O46czx6ld0939デフォルトの名無しさん (スップ Sd72-Hpsk)
2017/05/09(火) 10:22:47.55ID:2qAdcsDCdスマホからなので一部抜けてるところがありますが、コンパイルエラーにはなりません
printfの""が抜けてました
すみません
パソコンでは正常に""にしてます
0940デフォルトの名無しさん (ブーイモ MM52-+IN/)
2017/05/09(火) 11:03:10.92ID:tMOp7971Mここ読んでscanf_sの使い方見比べろ
0941デフォルトの名無しさん (ワッチョイ df92-Ogwz)
2017/05/09(火) 11:08:59.65ID:KlDRN+v00scanf_s("%s",str);
↓
scanf_s("%s",&str);
にしないとダメなんじゃないの?
ウィンドウズオリジナル関数はよくわからないけど
0942デフォルトの名無しさん (ワッチョイ df92-Ogwz)
2017/05/09(火) 11:10:47.34ID:KlDRN+v00strは配列だから関係ないわ 失礼
0943デフォルトの名無しさん (スップ Sd72-Hpsk)
2017/05/09(火) 11:13:08.10ID:2qAdcsDCdscanf_sでは指定できないことがわかりました
つまり正しい文字を出力するには、どの関数を使えばいいんですか?
0944デフォルトの名無しさん (スップ Sd72-Hpsk)
2017/05/09(火) 11:35:26.95ID:2qAdcsDCd0945デフォルトの名無しさん (ワッチョイ d392-DCsn)
2017/05/09(火) 11:37:20.52ID:HY6z92Wp0最適な値を選んだと思う MS完璧過ぎる
0946デフォルトの名無しさん (スップ Sd72-Hpsk)
2017/05/09(火) 11:38:14.50ID:2qAdcsDCd馬鹿じゃねえの死ねよ
0947デフォルトの名無しさん (スップ Sd72-Hpsk)
2017/05/09(火) 11:38:39.31ID:2qAdcsDCdお前は揚げ足取るだけで回答できないのか?
0948デフォルトの名無しさん (ワッチョイ efd4-VjVX)
2017/05/09(火) 12:04:10.22ID:NnNKnRo300949デフォルトの名無しさん (ワッチョイ 3692-F92I)
2017/05/09(火) 12:11:52.27ID:c8vmdSzy0scanf_s("%s", str, 15);
scanfを使うならコードの先頭に
#define _CRT_SECURE_NO_WARNINGS
を追加
0950デフォルトの名無しさん (ドコグロ MM8a-7yzm)
2017/05/09(火) 12:14:58.83ID:/41OERo4Mって、質問者かよっ!
0951デフォルトの名無しさん (ワッチョイ fe13-yDsv)
2017/05/09(火) 12:21:43.10ID:SiZskJ9200952デフォルトの名無しさん (ワッチョイ 3692-nELh)
2017/05/09(火) 12:24:03.93ID:aygfCVc+0いつものパターンですなw
0953デフォルトの名無しさん (スップ Sd72-Hpsk)
2017/05/09(火) 12:25:54.93ID:2qAdcsDCdありがとうございます
こちらで解決できました
それよりこんな大勢居て何人も見当違いの回答をしてるのにびっくり…
0954デフォルトの名無しさん (ラクッペ MMc7-h7sT)
2017/05/09(火) 12:36:33.20ID:zY+TPebhM最後の一行は余計だろ
0955デフォルトの名無しさん (JP 0Hbf-+IN/)
2017/05/09(火) 12:49:40.66ID:tsTM2/FSH見当違いは一人だけで直後に修正しているし、
他には誤った回答はない。
>>940見て解決できなかったやつの言葉とは思えんわ。
0956デフォルトの名無しさん (ワッチョイ df92-Ogwz)
2017/05/09(火) 12:49:55.91ID:KlDRN+v000957デフォルトの名無しさん (JP 0Hbf-+IN/)
2017/05/09(火) 12:51:32.53ID:tsTM2/FSH0958デフォルトの名無しさん (アウアウカー Sa1f-y2kh)
2017/05/09(火) 12:56:38.54ID:06qTb5T4ascanf_s("%s",str,15);
じゃないの?
0959デフォルトの名無しさん (アウアウカー Sa1f-y2kh)
2017/05/09(火) 12:58:45.80ID:06qTb5T4a0960デフォルトの名無しさん (スップ Sd72-Hpsk)
2017/05/09(火) 13:01:44.69ID:2qAdcsDCd解決する力がないも
普通に提示すれば良かっただけ
0961デフォルトの名無しさん (JP 0Hbf-+IN/)
2017/05/09(火) 13:31:28.26ID:tsTM2/FSH0962デフォルトの名無しさん (ワッチョイ 26f3-Ogwz)
2017/05/09(火) 15:16:03.61ID:ddG1tYvG02chの理念からしたら それがもっとも正しい
0963デフォルトの名無しさん (ワッチョイ 7ba3-+lTm)
2017/05/09(火) 15:56:30.59ID:Yf2w/5aV0gif何なんだ?
0964デフォルトの名無しさん (スップ Sd72-Hpsk)
2017/05/09(火) 18:51:34.54ID:2qAdcsDCdプログラムの問題なのか、考えて考えたのに出した結果が、windows側の問題だったなんて嫌です
0965デフォルトの名無しさん (ワッチョイ ef3c-Ogwz)
2017/05/09(火) 18:56:08.77ID:w5ZG0rru0開発環境の問題
実行環境の問題
0966デフォルトの名無しさん (スププ Sd52-1AEn)
2017/05/09(火) 19:09:33.01ID:O46czx6ldなんやねんこいつ
0967デフォルトの名無しさん (ワッチョイ d392-DCsn)
2017/05/09(火) 19:12:52.06ID:HY6z92Wp0「VC++ フフフ」で検索する知恵すら無いようだな
フフフと笑われてる事が理解できないアホウは向いていない
0968デフォルトの名無しさん (スッップ Sd52-Hpsk)
2017/05/09(火) 20:01:38.08ID:kN/vQjn6d知恵知恵知識
お前らは貧乏気質だな
0969デフォルトの名無しさん (ワッチョイ 93c2-CFIq)
2017/05/09(火) 22:09:42.09ID:tKB1hTE600970デフォルトの名無しさん (ワッチョイ b2cf-DCsn)
2017/05/10(水) 00:43:11.36ID:ebkkD24100971デフォルトの名無しさん (ワッチョイ 8378-Ogwz)
2017/05/10(水) 08:22:04.87ID:usWRbfF800972デフォルトの名無しさん (ワッチョイ b3df-LeL1)
2017/05/10(水) 08:48:27.17ID:LExzGfw50なんじゃそりゃw
0973デフォルトの名無しさん (ワッチョイ 3692-k53w)
2017/05/10(水) 09:34:07.86ID:lPP7HFdc00974デフォルトの名無しさん (ワッチョイ fe13-yDsv)
2017/05/10(水) 09:48:20.49ID:qT2fTRM/0いや、お前はお前で、スマホでの入力だという事情を考慮できない
アスペ的な部分があるよ。
0975デフォルトの名無しさん (ワッチョイ d392-DCsn)
2017/05/10(水) 09:57:49.19ID:qAQ0xF3K0>>938 ID:O46czx6ld
には>>939 ID:2qAdcsDCdがついているが、煽られてはいない 他のレスの事だな
読解力が欠如してるくせに余計な事を言わなくても良い 黙ってろ
0976デフォルトの名無しさん (ドコグロ MM5f-10U+)
2017/05/10(水) 14:25:12.67ID:zpOm/DuMMsizeof 使おうよ...
0977デフォルトの名無しさん (ワッチョイ 26f3-Ogwz)
2017/05/10(水) 15:22:38.88ID:qM9q6g5B00xCC で埋めてるってことだよ・・・
0978デフォルトの名無しさん (ワッチョイ e2ff-9WxF)
2017/05/10(水) 15:25:38.02ID:iXFIeW7Q0デバッグ中にもし飛び込んでもブレークポイントになるなw
0979デフォルトの名無しさん (ワッチョイ 7ba3-+lTm)
2017/05/10(水) 17:39:51.09ID:S7L0YFdN00980デフォルトの名無しさん (ワッチョイ 3254-yYXR)
2017/05/10(水) 20:44:03.27ID:uGLw5S9o0これ一度"フフフノフフフ"になってた
0981デフォルトの名無しさん (ワッチョイ b792-uLsZ)
2017/05/10(水) 21:54:22.72ID:YxExsWj+00982デフォルトの名無しさん (ワッチョイ b792-uLsZ)
2017/05/10(水) 21:57:20.30ID:YxExsWj+0C言語なら俺に聞け 140
!extend:checked:vvvvv:1000:512
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/
前
http://echo.2ch.net/test/read.cgi/tech/1487757355/
http://www.geocities.jp/c_cpp_cs/about_c/
0983デフォルトの名無しさん (ワッチョイ 12dd-7yzm)
2017/05/10(水) 22:55:06.31ID:1kK8mKpv00984デフォルトの名無しさん (ワッチョイ e33c-57qA)
2017/05/11(木) 17:40:57.20ID:WXzKqxW600985デフォルトの名無しさん (ドコグロ MM67-Ec/g)
2017/05/11(木) 18:00:36.84ID:/i9HNzW4M0986デフォルトの名無しさん (ワッチョイ 7f2b-MvQJ)
2017/05/11(木) 19:20:00.67ID:TUOp+w7D00987デフォルトの名無しさん (ワッチョイ c300-yCMP)
2017/05/11(木) 19:20:49.50ID:Nj7VkpBl00988片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd9f-TJ40)
2017/05/11(木) 19:22:44.46ID:4HIXay57d0989デフォルトの名無しさん (ワッチョイ 7fb6-9BLN)
2017/05/11(木) 19:33:29.40ID:xvVNdJar00990デフォルトの名無しさん (ワッチョイ 7fb6-9BLN)
2017/05/11(木) 19:33:58.02ID:xvVNdJar00991デフォルトの名無しさん (ワッチョイ 7f3c-lnKX)
2017/05/11(木) 20:32:54.88ID:r6M771XX00992デフォルトの名無しさん (ワッチョイ 83c8-SU9n)
2017/05/11(木) 20:35:43.56ID:Na8DjsmX00993デフォルトの名無しさん (ワッチョイ 6f8c-8ulf)
2017/05/11(木) 22:20:22.24ID:cn414UR90http://echo.2ch.net/test/read.cgi/tech/1487757355/
0994デフォルトの名無しさん (ワッチョイ 7fb6-9BLN)
2017/05/12(金) 06:05:17.73ID:7AnEAB/f00995デフォルトの名無しさん (ワッチョイ 43c3-BCXR)
2017/05/12(金) 06:21:00.67ID:AW7yU3et0http://echo.2ch.net/test/read.cgi/tech/1494508803/
0996デフォルトの名無しさん (ワンミングク MM1f-9BLN)
2017/05/12(金) 08:55:07.02ID:pUdGYSS/M0997デフォルトの名無しさん (ワッチョイ ff78-YrL9)
2017/05/12(金) 09:00:46.28ID:CgSVsGuo0乙
0998片山博文MZ ◆T6xkBnTXz7B0 (スフッ Sd9f-TJ40)
2017/05/12(金) 20:10:53.61ID:r6F8dCD7d0999デフォルトの名無しさん (ワッチョイ 83c8-SU9n)
2017/05/12(金) 20:50:51.95ID:UkU1KlKv01000デフォルトの名無しさん (ワッチョイ 437b-SU9n)
2017/05/12(金) 20:53:26.61ID:AguJvwAF010011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
life time: 79日 1時間 57分 32秒
10021002
Over 1000Thread運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/
▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。