C言語なら俺に聞け(入門編)Part 103

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
C言語の入門者向け解説スレッドです。

★前スレ
C言語なら俺に聞け(入門編)Part 102
http://toro.2ch.net/test/read.cgi/tech/1338365782/
★過去スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
★教えて欲しいのではなく宿題を丸投げしたいだけなら
  ↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 158代目
http://toro.2ch.net/test/read.cgi/tech/1339338438/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
  # サイズが大きい場合はアップローダ等を利用してください。
http://codepad.org/
http://ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

2uy:2012/06/30(土) 21:39:00.12
俺はゴミカスだ
よく覚えておけ
3デフォルトの名無しさん:2012/06/30(土) 22:28:44.66
はい
4デフォルトの名無しさん:2012/06/30(土) 22:45:17.43
2 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん

なんだいきなり
5デフォルトの名無しさん:2012/06/30(土) 23:01:25.02
externを書かない場合があるのをいい加減なと言っていた人が前スレでいたが、
externについては省略が許容されてるので、書こうが書くまいが何も変わらない。
6デフォルトの名無しさん:2012/06/30(土) 23:04:24.83
extern = public
7デフォルトの名無しさん:2012/06/30(土) 23:18:07.10
>struct A {int a};

>main()
>{
>struct A __i686;
>__i686.a = 686;
>}

普通にエラーだろ。
8デフォルトの名無しさん:2012/06/30(土) 23:28:19.79
ふにゃ〜
9デフォルトの名無しさん:2012/06/30(土) 23:42:01.25
4byte int型に値を入れて、char型のポインタを使って1byteずつ参照したときに
範囲外を参照したときに長いバイト列が表示されるのはなぜでしょうか
初期化されていようが無かろうが、指定アドレスから1byte長の値を読み込むものだと思うのです。

int x = 300; (0x12c、 バイナリ 2C 01 00 00)
char* p = (char*)&x;
printf("%#x",*(p+4));
出力
0xffffffcc
10デフォルトの名無しさん:2012/06/30(土) 23:45:29.58
>>9
unsigned char にしようぜ
11デフォルトの名無しさん:2012/06/30(土) 23:55:50.93
printf(…,p[4]&0xff);
と書くべき棚
12uy:2012/07/01(日) 00:06:04.24
>>9
void main(){
printf("%d" , sizeof(char*) );
}
初心者はいい加減にしろ
13デフォルトの名無しさん:2012/07/01(日) 00:09:46.80
#include <stdlib.h>
int main(int argc, char *argv)
{
printf("uy is stupid.\n");
return(0);
}
14デフォルトの名無しさん:2012/07/01(日) 00:13:13.74
>>12
ゴミカスは引っ込んでろ
15デフォルトの名無しさん:2012/07/01(日) 00:36:21.71
wchar_tのデータを改行で分割して1行ずつ処理していきたいのですが、
使用関数はwcsncmpでしょうか?
16デフォルトの名無しさん:2012/07/01(日) 00:39:58.33
窓屋さん、お呼びだ
17デフォルトの名無しさん:2012/07/01(日) 00:48:51.55
>>10 >>11
すみません、たしかに上手くいったんですけど何がいけなかったんでしょう?
18デフォルトの名無しさん:2012/07/01(日) 00:50:10.90
>>7
アンスコで始まる識別子はシステムに予約されてる。
ユーザーコードでは使用してはならない。
19デフォルトの名無しさん:2012/07/01(日) 00:53:16.24
>>9

確保したバッファの外側を参照した時点で、どう動作しても仕方ないってのはある。

>printf("%#x",*(p+4));
はpをunsigned char*で宣言した上で↓が良いでしょう。
printf("%#hhx",*(p+4));
20デフォルトの名無しさん:2012/07/01(日) 01:07:07.79
>9,17
可変引数に対する暗黙の型変換が原因。
貴方はcharを渡しているつもりだろうが、コンパイラが最終的に 'int' に変換している。
※例えば printf( "%x", (char)*(p+4) ); と書いたら、一旦charに変換された後intに変換される。
2120:2012/07/01(日) 01:15:26.73
もうちょっと補足しておく。リファレンスで printf を調べると基本的には↓のようになっているはず。
 int printf ( const char * format, ... );

ご覧の通り第二引数以降は型が不明である。
これを踏まえて以下を考えていただければ、Cについての造詣が深まると思う。
・引数に渡した値は、printfの内部にはどんな型として渡るのか?
・printf内部ではどうやって型を判断しているのか?
22 ◆QZaw55cn4c :2012/07/01(日) 01:45:42.06
>>20
char って、これが unsigned か signed かは実装依存だってことも、んー、陥穽ばかり‥‥‥。
23デフォルトの名無しさん:2012/07/01(日) 02:11:55.47
ありがとうございました
奥が深いです
24デフォルトの名無しさん:2012/07/01(日) 02:13:56.08
>>7,18
単にセミコロンが足りないってだけなんだが。
25デフォルトの名無しさん:2012/07/01(日) 02:17:05.74
>struct A {int a};
>struct A {int a;};
26デフォルトの名無しさん:2012/07/01(日) 02:23:51.58
1バイトの-1を
4バイトに拡張したら
どうなるかって話だろ。

-1 = FFh

これを4バイトにしたら
000000FFh(255) ではなく
FFFFFFFFh(-1) になる。

符号無しなら
FFh = 255 だから
そのまま 000000FFh となる。
27デフォルトの名無しさん:2012/07/01(日) 02:30:33.79
円周率って世界中のPCを一斉に動かして分担処理させて解けば
何桁くらいまで求まりますか?
正しプログラミング言語はC言語とします。

コンピュータの数は1億台くらいとします。
28 ◆QZaw55cn4c :2012/07/01(日) 02:35:14.95
>>27
円周率の計算って並列化しやすい部類なんでしょうか?マチンの公式とかあんまりそんな感じがしないのですが。
29デフォルトの名無しさん:2012/07/01(日) 02:36:13.95
>>28
足し算でしょ?

並列化は簡単では?

それぞれのコンピュータである項について足し算




30デフォルトの名無しさん:2012/07/01(日) 06:39:22.48
アンスコ=アンダースコート
31デフォルトの名無しさん:2012/07/01(日) 07:06:06.04
インスコ = インストール
32デフォルトの名無しさん:2012/07/01(日) 07:56:48.19
ブルスク

ブルースクリーン
ブルマ スクール水着
33デフォルトの名無しさん:2012/07/01(日) 08:49:08.63
最近のPCはブルスクでねーな
34デフォルトの名無しさん:2012/07/01(日) 09:30:39.72
>27
何この小学生低学年レベルの質問。
35デフォルトの名無しさん:2012/07/01(日) 09:33:04.66
>最近のPCはブルスクでねーな
マザボの初期不良でOSインストールで何度か。
36デフォルトの名無しさん:2012/07/01(日) 10:31:00.82
>>27
お前には円周率=3で充分
37デフォルトの名無しさん:2012/07/01(日) 11:35:05.87
sin(x)の区間の傾きをネズミ算ネットワークで細分化していけばいいんじゃないかな
PI=(hの総和)*2/R
38デフォルトの名無しさん:2012/07/01(日) 12:09:34.14
>>37
いみふ
39デフォルトの名無しさん:2012/07/01(日) 12:10:12.62
>>27
3.1
40デフォルトの名無しさん:2012/07/01(日) 12:15:22.48
ねずみ算の結果、円周率は無限大に
41 ◆QZaw55cn4c :2012/07/01(日) 13:10:26.00
>>5
http://toro.2ch.net/test/read.cgi/tech/1338365782/983
MASMなんて誰もつかわないんだろうな‥‥‥
42デフォルトの名無しさん:2012/07/01(日) 15:28:41.98
あれはリンカがDEC FORTRAN互換の頃からある機能。
43デフォルトの名無しさん:2012/07/01(日) 17:07:48.39
MASMなんて使ってのは20年以上前だな。
44デフォルトの名無しさん:2012/07/01(日) 17:55:47.33
Qは老害だな
45デフォルトの名無しさん:2012/07/01(日) 18:04:56.54
へえ
46デフォルトの名無しさん:2012/07/01(日) 18:13:33.08
ただの知ったかぶりだろ
47デフォルトの名無しさん:2012/07/01(日) 18:30:22.58
>>27
厨房らしい質問だな
48デフォルトの名無しさん:2012/07/01(日) 18:39:50.57
π/4 = Σ( (-1)^n/(2*n+1) )
n=0〜∞

円周率を求めるにはこの式を使えば並列計算に向けになる
49デフォルトの名無しさん:2012/07/01(日) 18:43:03.69
>>48
収束が遅い
50デフォルトの名無しさん:2012/07/01(日) 18:55:06.06
>>49
マジかよと思ってやってみたら n=1000000 までループ回しても小数点以下5桁までしか確定しない
とんでもない収束の遅さだったwww
51デフォルトの名無しさん:2012/07/01(日) 19:12:21.84
構造体でメンバに構造体のサイズを要求するようなAPIがありますが
APIは何のために、どのように使うのでしょうか?
typedef struct 構造体タグ
{
unsigned int サイズ;
int ホゲ;

} 構造体名;

構造体名 フー構造体;
フー構造体.サイズ = sizeof(構造体名);

みたいなことです。
52デフォルトの名無しさん:2012/07/01(日) 19:13:17.35
>>51
バージョン違いへの対応
53デフォルトの名無しさん:2012/07/01(日) 19:20:21.61
比嘉ちゃんかわええ
54デフォルトの名無しさん:2012/07/01(日) 19:39:38.46
そうそうバージョンが上がって構造体の要素が増えたりした時用
55デフォルトの名無しさん:2012/07/01(日) 19:48:34.57
構造体の内部構造はコンパイラが違っても同じになるのか?
56デフォルトの名無しさん:2012/07/01(日) 19:52:15.82
mallocで取ったのにかぶせるとき。
57 ◆QZaw55cn4c :2012/07/01(日) 19:53:01.71
58デフォルトの名無しさん:2012/07/01(日) 19:58:32.41
いまさらそんな本が必要だってことが知ったかぶりの証拠だって自分で認めてるの?
59 ◆QZaw55cn4c :2012/07/01(日) 20:02:23.40
>>58
それは「知ったかぶり」の定義を間違えているのでは?
60デフォルトの名無しさん:2012/07/01(日) 20:03:41.45
知ってるか試すべき
61デフォルトの名無しさん:2012/07/01(日) 20:11:22.19
最近知ったことをリアルタイムで知ってたかのように振舞うのも知ったかぶりだよ
62 ◆QZaw55cn4c :2012/07/01(日) 20:46:53.11
>>61
かりにその定義が妥当だとしてリアルタイムで知っている/知らないをどのように検証するの?
63デフォルトの名無しさん:2012/07/01(日) 20:50:39.31
くだらない
64デフォルトの名無しさん:2012/07/01(日) 21:32:40.01
ほんっと、くだらないね。
65デフォルトの名無しさん:2012/07/01(日) 21:50:10.32
>>5
ヘッダファイルで宣言するような場合だと、
関数の場合はextern無しで良くて、
オブジェクトの場合はextern無いと規格上は2重定義になって
未定義になるんじゃなかったっけ?

どうだったかな。
突っ込みよろしく。
66 ◆QZaw55cn4c :2012/07/01(日) 22:14:22.08
>>65
>オブジェクトの場合はextern無いと規格上は2重定義になって
初期化を伴わなければ二重定義にならない。
つ tentative definition
http://pc12.2ch.net/test/read.cgi/tech/1201153965/139
67デフォルトの名無しさん:2012/07/01(日) 22:21:38.59
C++だと関数でもextern必要だから書く癖つけた方がいいと思う。
68デフォルトの名無しさん:2012/07/01(日) 22:29:17.66
>>66
JIS X3010
6.9.2 外部オブジェクト定義

> 翻訳単位が、ある識別しに対する仮定義を一つ以上含み、
> かつその識別子に対する外部定義を含まない場合、
> その翻訳単位に、翻訳単位の終わりの時点での合成型、
> 及び0に等しい初期化子をもった識別子のファイル有効範囲の
> 宣言が有る場合と同じ規則で動作する。

で、翻訳単位の最後に0初期化の初期化子を持った定義がある挙動をする、
と解釈した。
で、翻訳単位が複数に渡る分割コンパイルの場合、
それぞれの翻訳単位の最後に同じ定義が存在することになるので、
リンク時に2重定義になるのではないか、と解釈した。
69 ◆QZaw55cn4c :2012/07/01(日) 22:37:06.01
>>68
「その翻訳単位ごとに」
>翻訳単位の最後に0初期化の初期化子を持った定義がある挙動をする、
のではなくて、すべての翻訳単位がリンクした後に
>翻訳単位の最後に0初期化の初期化子を持った定義がある挙動をする、
と解釈するのが妥当では?
70デフォルトの名無しさん:2012/07/01(日) 22:39:43.01
解釈しなきゃあいけないような定義ってクソだろ
捨てろよ
71デフォルトの名無しさん:2012/07/01(日) 22:44:28.05
>>68
JIS ppppppppppppppppppppppppp
72デフォルトの名無しさん:2012/07/01(日) 23:27:30.99
>>70
意味は解釈するものである。
73デフォルトの名無しさん:2012/07/01(日) 23:56:08.32
#include <stdio.h>
int main() {
long long int a = (long long int)1 << 63;
printf( "%lld", a );
return 0;
}
これを実行すると-9223372036854775808と表示されるはずですが、うちのgccでは0になります。何かオプションが必要なんでしょうか?
74デフォルトの名無しさん:2012/07/01(日) 23:57:10.14
>>73
%I64d
75デフォルトの名無しさん:2012/07/01(日) 23:58:47.80
>>69
いいえ そんな解釈してるのはお前だけ。
76デフォルトの名無しさん:2012/07/02(月) 00:04:08.40
>>73
うちのgccなら
-9223372036854775808
77デフォルトの名無しさん:2012/07/02(月) 00:08:05.26
>>74
感謝 printfを調べればよかったんだな
78デフォルトの名無しさん:2012/07/02(月) 00:25:15.57
うちの
man printf
ではわからん
79デフォルトの名無しさん:2012/07/02(月) 00:34:31.16
>>69
それはない。
リンクしてしまった時点でそれは翻訳単位とは呼ばれないから。
それぞれの翻訳単位を翻訳する過程で仮定義の解決が行われる、
としか取れない。

気持ち悪い例を出せばあるバージョンのgccでは、
複数ファイルに同じグローバル変数の定義(仮定義じゃなく)があった場合
警告も出さすに1つのグローバル変数としてリンクした。
しかしpedantic-errorを指定するとエラーになった覚えがある。

なので例えばgccに限定すれば関係は無いのかも知れないが、
規格の上ではexternを付けて宣言し、定義は明示的に
プログラム無いで1ヶ所に限定すべきだと思う。


「externなんて要らない」というのは環境に依存する話で
一般論としては言いし過ぎだろ。

もしくは規格に「同じ定義があった場合は1つにまとめる」というのがあって
俺が読み飛ばしちゃってるかのどっちか。
80デフォルトの名無しさん:2012/07/02(月) 00:39:51.74
64って数字を入れるのは気持ち悪いよな

81デフォルトの名無しさん:2012/07/02(月) 01:16:04.00
>>79
単に一時的なバグだったんじゃねーの? > あるgcc
82デフォルトの名無しさん:2012/07/02(月) 01:17:58.48
>>79
> 規格の上ではexternを付けて宣言し、定義は明示的に
> プログラム無いで1ヶ所に限定すべきだと思う。

「すべきと思う」ってどういう意味?
「規格上決まってる」のか「あなたがそうしたい」だけなのか?
規格でどう規定されてるかじゃなくて、あなたの文の意図を聞いてるんだけど。
83 ◆QZaw55cn4c :2012/07/02(月) 01:23:14.82
>>79
確かにこの点についての典拠はいろいろみているのですが、肯定否定とも今ひとつ決定打はないみたいです。
翻訳単位別に同じ名前の外部変数がダブって生成されるというのは不自然なのですが‥‥‥そんなコンパイラを禁止する規定はなさそう。
リンク時に外部識別子はなにはともあれひとつにまとまるのが嬉しいんですけれども、ああ困った困った。

>「externなんて要らない」というのは環境に依存する話で一般論としては言い過ぎだろ。

まあそうなんですけれども、先にあげた masm のこともあるし、宣言extern/定義public を使い分けるというのは、少なくとも c がアセンブラの慣わしから切り離されるのは、んー、そんな時代なのかな?
また忘れたころに「extern は要らない子」と主張して肯定ないし否定の決定打を待つことにしましょうか。
自分で探せって?まあそうですけど。
84 ◆QZaw55cn4c :2012/07/02(月) 01:30:07.49
>>79
>複数ファイルに同じグローバル変数の定義(仮定義じゃなく)があった場合警告も出さすに1つのグローバル変数としてリンクした。
別々に初期化を明示していながらまとまるのは、確かにこれは気持ち悪い。


85デフォルトの名無しさん:2012/07/02(月) 01:41:53.01
やっと独習C読み終えた記念
1日で多いときに20ページくらいしか進まなかったから3週間くらいかかったー
86デフォルトの名無しさん:2012/07/02(月) 02:21:27.14
初心者で勉強するだけならそんなもんでいいんじゃね
87デフォルトの名無しさん:2012/07/02(月) 03:57:33.80
T *ary[] (Tはtypedefされた)という仮引数を持つ関数があるのですが、これにconstをつけて
・配列の各要素として格納されているアドレスを変更したり配列の要素を並べ替えてはならない
・個々の要素であるアドレスが指す先のデータは変更してよい(むしろ変更したい)
…つまり「配列が変更不可能なのであって、その中の要素が指す先は変更可能である」ということはできますでしょうか?

安直に const T *ary[] とすると「「const T *」の配列」と解釈されてしまうのか
関数内で T *item = ary[i]; としたときに「異なるconst修飾子です」と警告されてしまいます。
環境はVC2008です。
88デフォルトの名無しさん:2012/07/02(月) 04:17:23.45
T *item = (T *)ary[i];
89デフォルトの名無しさん:2012/07/02(月) 09:32:55.03
T * const ary[];じゃないの?とかいまさら。
90デフォルトの名無しさん:2012/07/02(月) 09:58:41.22
>>89
ありがとうございます、それみたいです!
ちゃんと T *item = ary[i] では警告が出ず、ary[0] を変更しようとすると怒られました

const がポインタ宣言の*と配列名の間に付けられるなんて想いもしませんでした…
91デフォルトの名無しさん:2012/07/02(月) 11:10:56.50
>>85
おめでとう、次は?
92デフォルトの名無しさん:2012/07/02(月) 11:48:18.28
基本書一通り読み終えたら、後は自分でいろいろ書いてコンパイルしまくるだけだな
93デフォルトの名無しさん:2012/07/02(月) 12:18:59.06
やってみないと実感湧かないもんねえ
94デフォルトの名無しさん:2012/07/02(月) 12:37:24.94
亀レスになったが。

Annex J (informative) Portability issues
5. Common Extentions
J 5.11
に、複数の定義がある場合の動作は未定義ですとある。

未定義というのはエラーじゃないけど強適合するプログラムではやっちゃいけないということ。
J 5に書いてあるということは、広く使われている拡張があるということ。
例えば複数の定義に矛盾がなければ一つにまとめるなど。
95デフォルトの名無しさん:2012/07/02(月) 15:00:13.84
ぶひひ
96デフォルトの名無しさん:2012/07/02(月) 17:16:29.39
>>91
本来ならばもっとCについて学ぶべきなんだろうけどさっきからjavaに手を出している
javaが終わったらc++、そも後にpythonかrubyやる予定

本当はObjective-CやりたかったんだけどMac持ってないから買うまでの間に一通りやっとこうと思って
97デフォルトの名無しさん:2012/07/02(月) 17:22:55.11
AppleのObjective-C処理系はちょっと前までgcc、最近はclang。
だからcygwinやLinux上でもObjective-Cの勉強はできる。
APIもcocotron.org使えば、初級まではなんとかなる。
98デフォルトの名無しさん:2012/07/02(月) 17:24:21.44
>>96
やり方が違っているような気がするが、がんばってくれ
99デフォルトの名無しさん:2012/07/02(月) 17:37:38.05
本読むだけでできるようになる人もいなくはないんだろうが
まずありえない
100デフォルトの名無しさん:2012/07/02(月) 17:44:10.30
へえ
101デフォルトの名無しさん:2012/07/02(月) 17:52:41.74
hello world
から、いきなりゲーム作りましたって人いたけど、稀なケースだろうね
1時間でテトリスって動画あるけど、相当練習したんじゃないの
102デフォルトの名無しさん:2012/07/02(月) 17:56:25.41
いたいんだからそっとしといてやれ
103デフォルトの名無しさん:2012/07/02(月) 18:04:53.10
>>99
一応独習Cに乗ってるプログラムは例題も含めて全部試したぜ
家にいて起きてる間はPCに噛り付いて独習Cやって、
ベッドに入ったらiPadのtextasticとオンラインIDE使って苦Cやらなんやら見ながらやってた

コマンドプロンプトさえ知らなくてコマンドライン引数で何日も足止め喰らうくらい馬鹿だから、本読んだだけで理解するなんて俺には到底無理だ

104デフォルトの名無しさん:2012/07/02(月) 18:32:58.81
〜は有効なwind32アプリケーションではありません
アクセスが拒否されました

実行しても↑みたいになって実行できない。
他の開発環境でやってみたら、無事動く。

原因は何でしょう? メモリ?
105デフォルトの名無しさん:2012/07/02(月) 18:47:29.88
>>104
64bitアプリケーション
OSが違う
ファイルの破損
106デフォルトの名無しさん:2012/07/02(月) 18:59:28.15
思うんだが目的が単純なもののプログラムって馬鹿にされがちだよな
円周率とか√の計算をプログラムで求めようとすると
「小学生みたいな事やってんなよ」
って言われる。
もっとコンピュータのシステムにかかわる事をプログラムしろよみたいな。
そういう風潮がある。


107デフォルトの名無しさん:2012/07/02(月) 19:03:34.31
結局プログラマーにはなれなかったがコンピュータが好きになったという
点ではC言語に感謝したい

趣味ができた
108デフォルトの名無しさん:2012/07/02(月) 19:19:04.58
>>105
どうやらファイルの破損だったようです。
有難うございます。

PC再起動してみたら、立ち上げ時に visuall c++ runtime error なんたらかんたらと出た。
新規作成でやってみたら無事実行
109デフォルトの名無しさん:2012/07/02(月) 19:27:19.28
>>107
効いてる効いてるww
110 ◆QZaw55cn4c :2012/07/02(月) 20:15:48.67
>>94
thanks!! 確認しました。

ISO/IEC 9899:1999 anex J.5.11 Multiple external definitions
There may be more than one external definition for the identifier of an object, with or
without the explicit use of the keyword extern;
明示的に extern キーワードを使用する、あるいは使用しない形で複数の外部オブジェクト(変数)を定義することはあってもいい。

if the definitions disagree, or more than one is initialized, the behavior is undefined
しかし、定義が食い違っていたり、あるいは複数の箇所で初期化されていたりする場合は、その振る舞いは undefined である。

初期化が複数あるとだめなようですね。定義は複数あってもいいようです。
111デフォルトの名無しさん:2012/07/02(月) 20:15:55.97
ふう
112デフォルトの名無しさん:2012/07/02(月) 20:17:14.76
今頃それってどんだけ流行遅れなのw
113デフォルトの名無しさん:2012/07/02(月) 20:21:53.71
QZはuy並の知ったかぶり野郎
114デフォルトの名無しさん:2012/07/02(月) 20:27:23.01
$ cat t.c
int a;
int a;
extern int a;
int a = 1;
extern int a;
$ gcc -std=c99 -pedantic -c t.c
$ nm t.o
0000000000000000 D _a
$

ちなみに初期化子がついてる定義にextern付いてると、
初期化子あるのにextern宣言してるよ!と警告が出る。
初期化子のあるファイルスコープ変数は暗黙のexternで冗長だから。
115 ◆QZaw55cn4c :2012/07/02(月) 20:29:45.11
>>113
「知ったか」の定義はなんですか?
116デフォルトの名無しさん:2012/07/02(月) 20:34:37.12
クズは辞書の存在も知らないんだな。
117デフォルトの名無しさん:2012/07/02(月) 21:56:24.27
ググれゴミカス野郎
118デフォルトの名無しさん:2012/07/02(月) 21:57:13.18
>>115
こうやってすぐに噛み付いて来て全くスルー出来ない当たりもQの精神年齢の低さを思わせる
119デフォルトの名無しさん:2012/07/02(月) 22:00:05.99
QZはクズの略
uyはウンコ野郎の略
120uy:2012/07/02(月) 22:43:17.88
でっていう
121デフォルトの名無しさん:2012/07/02(月) 23:02:58.13
やめるのですボクたち
122デフォルトの名無しさん:2012/07/02(月) 23:04:15.93
ほっといて、おっさん
123デフォルトの名無しさん:2012/07/03(火) 00:36:18.92
C言語で*でダイヤ型のピラミッドアートを作りたくてここまでは作れたのですがfor(r=0; r<h; r++)
{
for(g=1; g<h-r; g++)
{
printf(" ");
}
for(g=0; g<2*r+1; g++)
{
printf("*");
}
printf("\n");
}
for(r=0; r<h; r++)
{
for(g=0; g<r; g++)
{
printf(" ");
}
for(g=0; g<2*(h-r)-1; g++)
{
printf("*");
}
printf("\n");
}
その後ができません。
やり方をおしえてくれませんか?
124デフォルトの名無しさん:2012/07/03(火) 00:48:22.91
125デフォルトの名無しさん:2012/07/03(火) 00:49:48.84
>123 こうしたかったのか?
#include <stdio.h>
#define H 6

int main(){
char c[H+1];
int y;
for( y = 0; y < H; ++y ) c[y] = '*';
for( y = 0; y < H; ++y ) {
printf( "%*.*s*%.*s\n", H, y, c, y, c );
}
for( y = H; y >=0; --y ) {
printf( "%*.*s*%.*s\n", H, y, c, y, c );
}
}
126デフォルトの名無しさん:2012/07/03(火) 00:54:49.81
>>125
どうなるかわからないです><
すいません
127デフォルトの名無しさん:2012/07/03(火) 00:57:19.98
  *
 ***
*****
*****
 ***
  *

  *
 ***
*****
 ***
  *
にしたいんです
128デフォルトの名無しさん:2012/07/03(火) 01:02:24.34
>>127
#include <stdio.h>

int main(void)
{
int l[]={1,3,5,3,1};
int i;

for(i=0;i<5;i++)
{
printf("%*s%.*s\n", 2-l[i]/2, "", l[i], "*****");
}

return 0;
}
129デフォルトの名無しさん:2012/07/03(火) 01:07:21.29
130デフォルトの名無しさん:2012/07/03(火) 01:12:46.62
>>129
おお、その形です。
ありです
131デフォルトの名無しさん:2012/07/03(火) 03:28:47.68
a->b->cってなに?
132デフォルトの名無しさん:2012/07/03(火) 03:30:46.63
アロー演算子
133デフォルトの名無しさん:2012/07/03(火) 03:36:04.21
struct zzz{
   char nm[50];
   int b;
   int c;
};

 struct zzz *a;

でa->bはわかるけど、a->b->cって使い方の意味がわからない・・・
134デフォルトの名無しさん:2012/07/03(火) 03:44:06.52
構造体の中に別の構造体へのポインタが有るんだよ
135デフォルトの名無しさん:2012/07/03(火) 03:45:10.46
別の構造体とは限らないか
いずれにせよポインタ
136デフォルトの名無しさん:2012/07/03(火) 03:46:03.87
???
137デフォルトの名無しさん:2012/07/03(火) 04:08:07.02
aはbを指すポインタ
bはcを指すポインタ
138 ◆QZaw55cn4c :2012/07/03(火) 05:15:33.96
>>118
あれ?お互い様じゃなかったの?
139デフォルトの名無しさん:2012/07/03(火) 05:31:23.22
× ポインタ
○ ポインター
140デフォルトの名無しさん:2012/07/03(火) 05:37:47.96
↑馬鹿
141デフォルトの名無しさん:2012/07/03(火) 07:18:15.25
×馬鹿
○馬鹿ー
142 ◆QZaw55cn4c :2012/07/03(火) 08:23:45.50
>>139
ちょっと前までは
×ポインター
○ポインタ
×ユーザー
○ユーザ
×フロッピー
○フロッピ
だったというのに。
それにしてもグレート・マイクロソフト大王様は偉大だなあ
143デフォルトの名無しさん:2012/07/03(火) 08:26:47.78
クズは放置で。
144 ◆QZaw55cn4c :2012/07/03(火) 08:27:31.53
145デフォルトの名無しさん:2012/07/03(火) 08:39:34.33
Cで正規表現って使えますか><
146デフォルトの名無しさん:2012/07/03(火) 08:41:21.13
Cで正規表現って使えますか><
147デフォルトの名無しさん:2012/07/03(火) 08:48:26.29
使えますん。
148デフォルトの名無しさん:2012/07/03(火) 09:00:04.42
使えませ。
149デフォルトの名無しさん:2012/07/03(火) 09:00:59.83
ありがとうございますm(_ _)m
perl勉強してきます
150デフォルトの名無しさん:2012/07/03(火) 09:12:58.59
いや、フロッピーはフロッピーだったろw
もう見たことない奴もいるから別にいいんだけどさ。
151デフォルトの名無しさん:2012/07/03(火) 09:42:38.31
以前からフロッピーだったぞ
IBMはディスケット
152デフォルトの名無しさん:2012/07/03(火) 09:45:03.34
詳しくは
Microsoftランゲージポータルの用語検索
153デフォルトの名無しさん:2012/07/03(火) 09:45:43.18
フレキシブルディスク()
154デフォルトの名無しさん:2012/07/03(火) 10:17:38.88
フロッピーディスク
フロッピーディスクドライブ

Its a Sony.
155デフォルトの名無しさん:2012/07/03(火) 10:33:54.88
自己参照構造体は宝の持ち腐れ
156デフォルトの名無しさん:2012/07/03(火) 10:37:13.66
と言うと?
157uy ◆pdu1UZmweE :2012/07/03(火) 11:10:52.82
初心者の妄言とかマジいらねー

なんで初心者って何年間もC言語でとまって、
ある日突然「C++は使えるんだけどなあ」とか言いはじめんの? バッカじゃねーの?

C++だけ使えますとかいう状況はありえねーから!!!!!!!

他の言語の膨大な知識を持った上で、C++を使って初めて
ようやくC++を「「「まとも」」」に扱えるわけで
C++は広い

C++ではなく、他言語でプログラム知識をつけなければ
まともなC++コードなんてかけるはずもないのになんで初心者は「C,C++」わかりますとかいっちゃうわけェ?ねえ? は? 意味不明なんだけどさ?
158uy ◆pdu1UZmweE :2012/07/03(火) 11:13:18.86
つーかC言語にしたってそうだよ
時代遅れ言語使ってんだから他言語でやってるノウハウをいかにC言語に持ってくるかは
開発においてかなりの焦点になるわけで
C言語しかやってない奴がC言語できますとか
「嘘ついてんじゃねえよし値!!!!!!!」って思う

なんでさっさと、全言語覚えようとしねーんだよバッカじゃねーの
あ、バカだから覚えられないのか^^;;;

もうプログラミングやめろよ
才能ない 市ね
159uy ◆pdu1UZmweE :2012/07/03(火) 11:15:25.18
C言語で動的にコード生成もかけるし
C言語でlambdaもかけるよ

ちゃんと知識があればな
そこまでやってからC言語扱えると言えカス初心者共が
160デフォルトの名無しさん:2012/07/03(火) 11:15:31.32
お前もrubyの初心者何年やってんだよw
161デフォルトの名無しさん:2012/07/03(火) 12:47:00.50
この板の荒しは初心者に毛が生えた程度のレベルがほとんど
162デフォルトの名無しさん:2012/07/03(火) 13:04:49.26
ダラダラと長文書くやつは例外なくゴミカス
163デフォルトの名無しさん:2012/07/03(火) 14:10:18.42
毛が生えたら用済み
164デフォルトの名無しさん:2012/07/03(火) 14:21:28.21
C言語ってアセンブラで書いたメイン処理の為の補助言語でしょ?
165デフォルトの名無しさん:2012/07/03(火) 14:21:51.30
フェロモンの体表定着を目指した進化らしいからね
166デフォルトの名無しさん:2012/07/03(火) 17:24:06.48
◯◯入門で検索すると大抵は伊倉辰雄って人のページが最初のほうにでてくるんだけど、
この人この界隈では著名な人なの?
167 ◆QZaw55cn4c :2012/07/03(火) 18:15:08.50
>>159
>C言語でlambdaもかけるよ
本当か?書いてみろよ。つhttp://codepad.org/
168uy:2012/07/03(火) 18:30:28.77
>>163
生えかけのよさを知らない素人は死ね
169デフォルトの名無しさん:2012/07/03(火) 18:54:21.97
for (;;)
for(;;)

上と下どっちがいいの?
要はスペースをいれるかいれないか
170デフォルトの名無しさん:2012/07/03(火) 19:03:36.28
くっつけると関数みたいじゃん
171デフォルトの名無しさん:2012/07/03(火) 19:05:01.47
>>169
どちらも泣き顔のAAみたいに見えて嫌いだから while (1) 使うわ
172デフォルトの名無しさん:2012/07/03(火) 19:05:04.58
>>170
やっぱ関数以外は離したほうがいいもんなのか
173デフォルトの名無しさん:2012/07/03(火) 19:08:15.81
int _ = 1;
...
for (;_;) {
174デフォルトの名無しさん:2012/07/03(火) 19:10:24.52
while (o_o) {
175デフォルトの名無しさん:2012/07/03(火) 19:29:19.55
続きはこっちでやれ

while(1)をfor(;;)って書くやつ
http://kohada.2ch.net/test/read.cgi/prog/1177664788/
176デフォルトの名無しさん:2012/07/03(火) 19:41:46.01
俺は誰の指図も受けない
177デフォルトの名無しさん:2012/07/03(火) 19:43:55.11
return(0);
関数なの?死ぬの?
178デフォルトの名無しさん:2012/07/03(火) 19:58:44.82
無駄に括弧付けると死ぬの?
return ((((O_O)))));
179デフォルトの名無しさん:2012/07/03(火) 20:07:15.92
死ぬ。
180デフォルトの名無しさん:2012/07/03(火) 20:18:55.25
typoするとハマる
181デフォルトの名無しさん:2012/07/03(火) 20:21:03.72
@
int main(void) {
}

A
int main(void){
}

B
int main(void)
{
}


これだと何番がいいの?
182デフォルトの名無しさん:2012/07/03(火) 20:26:04.71
int main()
{
}
183デフォルトの名無しさん:2012/07/03(火) 20:26:30.98
>>181
どうせ整形ツールに通すからどれでもいい
184デフォルトの名無しさん:2012/07/03(火) 20:27:42.28
ふう
185デフォルトの名無しさん:2012/07/03(火) 20:32:17.18
>>181
スタイルだから好きに決めてやれ
186デフォルトの名無しさん:2012/07/03(火) 20:34:51.83
>>181
他の言語もやってると@番に落ち着くような気がする
187デフォルトの名無しさん:2012/07/03(火) 20:36:38.29
教科書とかはページ数節約するために、行数少なくなる書き方してるからね
188デフォルトの名無しさん:2012/07/03(火) 20:40:07.43
>>181
#include <stdlib.h>
int main(void)
{
return(0);
}
189デフォルトの名無しさん:2012/07/03(火) 20:45:47.07
>>188
この記述はイラっとくる
190デフォルトの名無しさん:2012/07/03(火) 20:47:35.49
10 GOTO 10
191デフォルトの名無しさん:2012/07/03(火) 20:52:05.80
>>189
Why do you feel it?
192デフォルトの名無しさん:2012/07/03(火) 20:52:38.65
関数は
{
}
制御文は
for(){
}
193デフォルトの名無しさん:2012/07/03(火) 20:57:05.71
>>183
整形ツールって何?
194デフォルトの名無しさん:2012/07/03(火) 21:02:00.29
>>192
ダッセー
195デフォルトの名無しさん:2012/07/03(火) 21:05:40.40
>>193
テメーの描いたクソコードを全消しして
綺麗な更地にしてくれるツール
196デフォルトの名無しさん:2012/07/03(火) 21:18:56.95
行数の無駄
197デフォルトの名無しさん:2012/07/03(火) 21:20:35.66
>>193
お前の生ゴミのような顔をキレイな生ゴミに整形してくれるツール
198デフォルトの名無しさん:2012/07/03(火) 21:32:11.22
>>196
紙に印刷するならね。
199デフォルトの名無しさん:2012/07/03(火) 21:32:48.10
mainの引数にvoidはアカン。
200デフォルトの名無しさん:2012/07/03(火) 21:34:04.19
初耳です
201デフォルトの名無しさん:2012/07/03(火) 21:48:00.00
引数無いならvoidでいいんじゃねと覚えたての俺が言ってみるテスト
202デフォルトの名無しさん:2012/07/03(火) 21:48:56.85
引数はあるからね。
だからだめなの。
203デフォルトの名無しさん:2012/07/03(火) 22:03:26.62
int main(void) というのは
規格で認められているmainの形式のひとつなわけだけど。
204デフォルトの名無しさん:2012/07/03(火) 22:09:26.68
void main( も規格で認められているmainの形式のひとつだわな
205デフォルトの名無しさん:2012/07/03(火) 22:14:45.43
つまりアカンかアカンくないのかどっちなんだよ
206デフォルトの名無しさん:2012/07/03(火) 22:16:33.45
規格書よめ。ちゃんと書いてある。
207デフォルトの名無しさん:2012/07/03(火) 22:21:27.00
嘘書くなゴミカス。
208デフォルトの名無しさん:2012/07/03(火) 22:29:32.42
規格書自体がゴミ
209デフォルトの名無しさん:2012/07/03(火) 22:33:09.84
>>202
どういうこと?
210デフォルトの名無しさん:2012/07/03(火) 22:33:14.59
long mainだろうがfloat mainだろうが、コンパイラを作る人が是とすればOKである
211デフォルトの名無しさん:2012/07/03(火) 22:38:28.67
戻り値voidはアカンけどな
212デフォルトの名無しさん:2012/07/03(火) 22:46:40.63
同意デス!
213デフォルトの名無しさん:2012/07/03(火) 22:47:00.36
規格上、(もちろんホスト環境の話)
int main()
int main(int argc, char *argv[])
が認められてる。
C99では前者はint main(void)と同等なので、
もちろんint main(void)も認められているということになる。

またmainに限っては返値の方はintなのにreturnで値を返さなくても良い@C99。
214デフォルトの名無しさん:2012/07/03(火) 22:50:09.11
で、その続きがあって
その他としてmainの書き方はコンパイラの人が定義していいよって事になっている
215デフォルトの名無しさん:2012/07/03(火) 22:50:24.44
規格で「処理系定義」とされている部分を、
一部の処理系で定義されているからといって「規格で認められている」と思うのは
あまりにも能天気すぎる。
216デフォルトの名無しさん:2012/07/03(火) 22:52:44.36
定義されているし実在しているのに認めない人って何かの病気なんでしょうか
217デフォルトの名無しさん:2012/07/03(火) 22:53:00.17
まあそのへんがゴミクズのゴミクズたる所以なのだが
218デフォルトの名無しさん:2012/07/03(火) 22:57:49.65
>>213
C99でC++と同じになったんか。
219デフォルトの名無しさん:2012/07/03(火) 23:00:08.12
規格って
こういうことができたらいいな
とか
後追い
とかあるしね
220デフォルトの名無しさん:2012/07/03(火) 23:08:40.46
うん
221デフォルトの名無しさん:2012/07/03(火) 23:16:39.61
つまり、C99まではvoidはアカンかったわけやな。
222デフォルトの名無しさん:2012/07/03(火) 23:19:25.36
>>214-215
処理系で定義していいというか、終了ステータスが未定義という規定です。

223デフォルトの名無しさん:2012/07/03(火) 23:19:45.35
void main() と main() は違うし
mainが値を返さない、というのも違うのだけど

その違いすらわからないまま偉そうにほざいてるのがゴミクズ
224デフォルトの名無しさん:2012/07/03(火) 23:25:05.45
組み込みでもない限りvoidはアカンだろ
225デフォルトの名無しさん:2012/07/03(火) 23:25:31.79
main()はintが省略されてるだけでしょ?
void mainはANSI-Cの規格外だったはず。
OSに正常終了の0を戻さないといけないんじゃなかったっけ?
226デフォルトの名無しさん:2012/07/03(火) 23:27:17.89
main() は、型を省略された関数、ってことで、int main() と同じになる。
main()関数のみ、値を返さない場合はreturn 0と同等になる(C99から)。

void main()は、標準規格では許されていない。
各処理系の独自拡張の部分で許しているものもあるかもしれない。
227デフォルトの名無しさん:2012/07/03(火) 23:28:30.04
>>224は引数じゃなくて戻り値の話ね
228デフォルトの名無しさん:2012/07/03(火) 23:31:31.57
俺のgccでは警告もでない
229デフォルトの名無しさん:2012/07/03(火) 23:32:18.48
OS上で動かす前提の話?
単独で動く場合は、返り値は不定でもいいんじゃね
今は、決まりごとみたいに0返しましょうって流れでしょ
230デフォルトの名無しさん:2012/07/03(火) 23:32:48.82
>>228
そういう人が書く入門本がvoid main(void)とかにしてるんだろうなー
そのくせANSI-C準拠とか書いてたり。
どの本とは言わんが。
231デフォルトの名無しさん:2012/07/03(火) 23:34:19.83
>>228
警告云々ではなく何も返ってこないのが問題
232188:2012/07/03(火) 23:37:48.16
>>231
えっ
233デフォルトの名無しさん:2012/07/03(火) 23:39:49.64
は?
234デフォルトの名無しさん:2012/07/03(火) 23:47:38.96
エラー処理できんくなるやろ><
235デフォルトの名無しさん:2012/07/03(火) 23:48:01.77
>>228
-Wallくらいつけろよ
236デフォルトの名無しさん:2012/07/03(火) 23:50:16.34
じゃあOSのmainはどうなってるの?
返すOSが無いんだが。
237デフォルトの名無しさん:2012/07/03(火) 23:54:07.53
>>236
それいうと
mainってのはただの関数名ってこと
238デフォルトの名無しさん:2012/07/03(火) 23:54:07.69
アホ?
239デフォルトの名無しさん:2012/07/03(火) 23:57:41.91
>>228
gcc -Wall test.c
みたいにやると
警告:'main'' の戻り値が 'int' ではありません
って出てくるよ
240188:2012/07/03(火) 23:58:30.44
>>235
つけたよーん
241デフォルトの名無しさん:2012/07/03(火) 23:58:49.60
>>237
> mainってのはただの関数名ってこと

mainは規格上特殊な関数なんですよ。ただの関数じゃないんですよ。
242デフォルトの名無しさん:2012/07/04(水) 00:00:48.51
どちらの主張も「オレの使う環境では」って言ってるだけにすぎんのだよ
243188:2012/07/04(水) 00:01:10.22
gcc 4.3.3 だよーん
244デフォルトの名無しさん:2012/07/04(水) 00:02:59.47
初心者にはこう書きましょう
って、いえば終わり
245デフォルトの名無しさん:2012/07/04(水) 00:22:55.11
環境依存とか多すぎてイライラする
246デフォルトの名無しさん:2012/07/04(水) 00:25:31.60
__|__  __|__       /\  ____
__|__   _|_      /__\    /   | _|_
 __|    /  |/ ヽ      _|_    (     |  .__|
(_ノ\   ヽ__|  ノ  ヽ   _|_     \   し(_丿\

 | 立 ヽ|二| | |  |  ___
ノ|ヽ日 ヽ|二| | | .|
 | 心 /ハ  .」 | (___
     __
 \  |   |
 _   |_|二|_   ―┼―ヽヽ_/_        .  l     |         _|_,
   |  |┌┐ |   ―┼―   /   \ |   \.  |  ̄ ̄| ̄  \ /ヽヽ  |/⌒ヽ
  /.  |└┘ .」  |  ゝ    / ___|   |     | |    |   /     /|     |
 /\____  \_     \ノ\  レ      レ   ノ   l__.    |   ○ヽ
247デフォルトの名無しさん:2012/07/04(水) 00:27:37.55
お前がそう思うならそう(ry
248デフォルトの名無しさん:2012/07/04(水) 07:47:20.94
メーン関数とメイン関数って違う物なの?
249デフォルトの名無しさん:2012/07/04(水) 08:01:39.65
違いますん。
250デフォルトの名無しさん:2012/07/04(水) 08:55:37.06
フリーメーソン関数は?
251デフォルトの名無しさん:2012/07/04(水) 09:19:13.62
変な神話を信じてるみたいだけど
カーネルモードって全てマシン後で書かれてるから
OSにメイン関数なんて無いだろう
俺は見たんだ
252デフォルトの名無しさん:2012/07/04(水) 09:22:54.63
じゃあ、マシン前は?
253デフォルトの名無しさん:2012/07/04(水) 10:11:13.86
>>251
うそおつ、とまじつっこみ
254uy:2012/07/04(水) 10:21:41.80
また知ったかが騒いでるのか

教科書コードはint mainでいいよ
今更ゴミカスC言語の常識覆すだけ無駄だから

ただしC言語を勉強中とか、サンプル程度のCソースコードはvoid mainでかいとけ
あるいはvoidもなしで
main(){ でもいい
そのほうが短くすむから

あとvoidで定義してもコンパイラが気を利かせて普通は0を返すようになってるから
お前たちゴミカスは心配しなくていい
255デフォルトの名無しさん:2012/07/04(水) 11:11:29.25
C言語はゴミカスと言いつつ必死にC言語についての書き込みをしているuyが笑える
256デフォルトの名無しさん:2012/07/04(水) 12:34:00.17
voidにすると0を返すとか、アセンブラからやり直せレベル
257デフォルトの名無しさん:2012/07/04(水) 12:36:00.19
ふーん
258デフォルトの名無しさん:2012/07/04(水) 12:47:10.66
uyはゴミカスだから最初に呼ばれる関数がmainとでも思ってるんだろ
259デフォルトの名無しさん:2012/07/04(水) 12:56:55.51
260デフォルトの名無しさん:2012/07/04(水) 13:28:15.17
IPを記録ってどうやるんだろうな?
そもそもそのプロトコルの何を記録したというんだ?
261デフォルトの名無しさん:2012/07/04(水) 13:33:53.12
Monazilla wwwww
262デフォルトの名無しさん:2012/07/04(水) 13:57:46.90
IPとIPアドレスって違うよな?
263デフォルトの名無しさん:2012/07/04(水) 14:05:21.80
くぴー
264デフォルトの名無しさん:2012/07/04(水) 14:23:42.54
IPの内容はスタックに退避だっけ?
265デフォルトの名無しさん:2012/07/04(水) 14:35:47.19
IP=情報処理
266デフォルトの名無しさん:2012/07/04(水) 15:11:21.14
ぴーかー
267デフォルトの名無しさん:2012/07/04(水) 15:31:20.73
知的所有権だろうjk
268デフォルトの名無しさん:2012/07/04(水) 15:53:15.26
チュー
269デフォルトの名無しさん:2012/07/04(水) 16:31:39.38
リング
270デフォルトの名無しさん:2012/07/04(水) 16:35:00.99
らせん
271デフォルトの名無しさん:2012/07/04(水) 17:47:00.40
なんでscanf関数は危険なんですか?
272デフォルトの名無しさん:2012/07/04(水) 17:52:40.71
なんでググらないんですか?
273デフォルトの名無しさん:2012/07/04(水) 18:10:35.41
危ないからだろう
274デフォルトの名無しさん:2012/07/04(水) 18:12:45.67
なんで危ないんですか?
275デフォルトの名無しさん:2012/07/04(水) 18:42:27.78
>>271
知ってるか?
水道水は危ないぞ
販売されている食品も大半が水道水を使ってるから同様に危ない
276デフォルトの名無しさん:2012/07/04(水) 18:57:21.43
main関数云々でここの奴らの理解度の底が知れたな
277デフォルトの名無しさん:2012/07/04(水) 19:01:23.93
また浅いやつが出てきたな。
278デフォルトの名無しさん:2012/07/04(水) 19:13:53.30
同意
279デフォルトの名無しさん:2012/07/04(水) 19:19:57.83
理解シマシタ
・・・ト思イマス
280デフォルトの名無しさん:2012/07/04(水) 19:28:07.51
uyが特に低レベルすぎて話にならない
281デフォルトの名無しさん:2012/07/04(水) 20:01:41.92
C言語なら俺に聞け(入門編)スレ3大議論
(1)main関数の型
(2)extern は必要か?
(3)NULLは0か、それとも(void*)0か?
282デフォルトの名無しさん:2012/07/04(水) 20:19:47.19
(4)exitの前にすべてのfreeをすべきか?
283デフォルトの名無しさん:2012/07/04(水) 20:51:39.47
freeはもう好きにしてくれて話だけど
closeは結構難しい
284デフォルトの名無しさん:2012/07/04(水) 21:23:54.96
>>283
なんで?
>>281
関数ポインタの宿命が抜けてる。
285デフォルトの名無しさん:2012/07/04(水) 21:32:12.15
そういうことは議論してから言え
286デフォルトの名無しさん:2012/07/04(水) 21:48:51.72
freeしないとメモリリークとか言う奴は、どのタイミングでメモリリークが発生してるのか説明して欲しいもんだ
287デフォルトの名無しさん:2012/07/04(水) 22:19:05.77
32bitプログラムを64bitでコンパイルした場合、
ポインタのアドレス(整数値)がどうなるか
32bitプログラム上でシミュレートするのは可能ですか?

32bitのアドレスを単純に2倍するだけじゃだめだよな
288デフォルトの名無しさん:2012/07/04(水) 22:21:39.22
そりゃそうだ
289デフォルトの名無しさん:2012/07/04(水) 22:41:51.89
エミュレーター探せば?
290デフォルトの名無しさん:2012/07/04(水) 22:48:03.21
char *s

char s[100]

の違いが全く分かりません。
291デフォルトの名無しさん:2012/07/04(水) 22:55:35.86
なんで勉強したの?
292デフォルトの名無しさん:2012/07/04(水) 22:57:09.32
char *s はアドレスを入れるための4バイトの領域を確保する
char s[100]は100バイトの領域を確保する
293デフォルトの名無しさん:2012/07/04(水) 23:05:51.48
>>292
でもchar *s

s="iamclever"
として

prinf("%s\n",iamclever);
としたらちゃんと表示されます。
iamcleverは9byteですから
4バイト以上確保してることになりませんか?
294デフォルトの名無しさん:2012/07/04(水) 23:15:05.83
295デフォルトの名無しさん:2012/07/04(水) 23:15:24.81
「アドレス」は4バイトで足りるでしょ?
296デフォルトの名無しさん:2012/07/04(水) 23:21:22.60
>>295
うん?
char *s="aaaaaaaaaaaaaaaaaaa";
と比較的長い文字列も記憶できるのだから
4バイト以上確保できませんか?
297デフォルトの名無しさん:2012/07/04(水) 23:23:16.11
char *s="aaaaaaaaaaaaaaaaaaa";
この場合は、リードオンリーな領域に"aaaaaaaaaaaaaaaaaaa"が確保された後で
その先頭アドレスの値4バイトがsにセットされる
298デフォルトの名無しさん:2012/07/04(水) 23:25:22.02
"iamclever"は10バイトだろ
299uy ◆pdu1UZmweE :2012/07/04(水) 23:33:56.18
>>282-286
それマジでfreeやめて欲しいよ
プログラマ自身がかいたGCではなく、言語側のGC機能で
自動回収なら許すけど、C,C++とかで自分でかいたゴミカスGCとか手動コードで解放はマジでやめろ
全部OSにやらせろ
300デフォルトの名無しさん:2012/07/04(水) 23:35:33.94
なんでCすら理解してないのにここにいんの?
301デフォルトの名無しさん:2012/07/04(水) 23:36:25.19
>>290
char *s:sはchar型の戻り値を持つポインタ
char s[100]:sはchar型の戻り値を持つ配列で要素数が100
全然違うでしょ?
302デフォルトの名無しさん:2012/07/04(水) 23:37:46.28
マルチスレッドでスレッド数を動的に増やすにはどうしたらいいか教えていただけませんか?
303uy ◆pdu1UZmweE :2012/07/04(水) 23:38:45.28
>>296
初心者のうちは配列のほうを使っとけ
学習順序というものがある
ポインタはずっと後でいいんだよ
304uy ◆pdu1UZmweE :2012/07/04(水) 23:39:59.22
>>302
は?バカなの?

main関数実行した当初はスレッド数1個だろ
そこからマルチスレッドにするんだったら動的に数増えてくじゃんバカ?
305デフォルトの名無しさん:2012/07/04(水) 23:45:59.78
ポインタと配列は別物なので混同しない様に。
306デフォルトの名無しさん:2012/07/04(水) 23:52:54.59
>>304
すいません 質問の仕方が悪かったようです
配列は最初に要素数を指定しますよね?マルチスレッドもスレッド数を最初に指定すると思います

で,コンパイル後配列を動的に増やすにはnewやmallocを使いますよね?
同じようにコンパイル後にスレッドを動的に増やすにはどうするかを聞いているので教えていただけると嬉しいです
307デフォルトの名無しさん:2012/07/05(木) 00:06:18.69
>>306
pthreadなら明示的に作成
pthread_create()

Javaでも作成して実行

作成ルーチンがメモリを確保して実行の準備を整える
308片山博文MZボット ◆0lBZNi.Q7evd :2012/07/05(木) 00:09:09.73
Windowsの場合はマルチスレッドアプリでbeginthread,beginthreadex,CreateThreadのいずれかを呼び出せば、スレッドが一つ増える。
LinuxやGCCの場合はpthreadを使う。
309デフォルトの名無しさん:2012/07/05(木) 00:15:33.27
>>293
char a[] = "0123456789";
char *p = "0123456789";
aは11バイト確保されていて、そこに直接"0123456789"が格納されている。
pはポインタなので4バイト確保されていて"0123456789"へのポインタが格納される。
それとは別に"0123456789"が確保されている。
310デフォルトの名無しさん:2012/07/05(木) 00:15:57.37
>>308
はずかしいレス
311デフォルトの名無しさん:2012/07/05(木) 00:17:29.82
>>307-308
回答ありがとうございます あとすいません 環境を書いていませんでしたね・・・
windows のvisual studio2010を使っています

beginthreadexはコンパイル後でもそのまま使えるのですね・・・
使えないと思いこんでいました 失礼しました
312デフォルトの名無しさん:2012/07/05(木) 00:17:50.40
みんな290のような質問しようね

回答者のレベルと合うから
313デフォルトの名無しさん:2012/07/05(木) 00:22:21.33
プログラム勉強してゲームを作りたいです。
今小学3年なんですが、僕にも分かるような本とかってありますか?
あったら教えてください
314デフォルトの名無しさん:2012/07/05(木) 00:23:59.01
おせろ、はさみしょうぎ
315デフォルトの名無しさん:2012/07/05(木) 00:26:58.44
>>309
でたらめ教えるな。
316デフォルトの名無しさん:2012/07/05(木) 00:36:18.92
否定だけして訂正しないやつはただのクズ。
317デフォルトの名無しさん:2012/07/05(木) 00:48:58.74
905 名前:uy[sage] 投稿日:2012/06/29(金) 17:51:23.12
>>901
俺のコンパイラは、ファイル名を指定するだけで、
どこに置いたファイルでも、瞬時にコンパイルしてくれる!
そんな機能もないゴミカスコンパイラを使ってるのかよ
ゴミゴミゴミゴミゴミゴミゴミゴミゴミwwwwwwww
さっさと土に還ってリサイクルされろよ
318デフォルトの名無しさん:2012/07/05(木) 00:51:01.01
>>290
ちょっと書いてみた。
何となく感じ取ってほしいw
http://ideone.com/F8jSn
319デフォルトの名無しさん:2012/07/05(木) 00:57:07.57
なぜ文字列リテラルは書き換え不可能じゃなきゃ駄目なのか
320デフォルトの名無しさん:2012/07/05(木) 00:57:21.96
>aは11バイト確保されていて、そこに直接"0123456789"が格納されている。
>pはポインタなので4バイト確保されていて"0123456789"へのポインタが格納される。
>それとは別に"0123456789"が確保されている。

aは静的変数、pは動的変数の場合の説明になってる。
pは動的としても変だが。
「それとは別に」も意味不明。何でわざわざ別の"0123456789"を確保するんだよ。
321デフォルトの名無しさん:2012/07/05(木) 01:35:31.14
バカはバカのまま放置して置くのが優しさってもんだろ
下手に知恵つけさせたら迷惑被る範囲が広がるじゃん
322デフォルトの名無しさん:2012/07/05(木) 01:41:05.69
>>281
>(2)extern は必要か?
ほう、前からあったのか?
323デフォルトの名無しさん:2012/07/05(木) 01:43:12.80
>>322
QZがぶっこくことがおおい
324デフォルトの名無しさん:2012/07/05(木) 02:15:09.37
aは書き換えするべきではない"0123456789"という領域の先頭アドレスがaに入る
pは"0123456789"が入る大きさの領域を確保して"0123456789"というデータをそこにコピーする
a[3]=`A' などとやってはいけない

んだっけ?
325デフォルトの名無しさん:2012/07/05(木) 02:16:54.14
>>324
いいえ
326デフォルトの名無しさん:2012/07/05(木) 03:10:48.84
aとpが逆…
327デフォルトの名無しさん:2012/07/05(木) 03:14:35.23
アマゾンで探せば、きっとそれっぽい本が見つかる。というか見つけた。
328デフォルトの名無しさん:2012/07/05(木) 03:15:23.56
すいません。>313へのレスです。
329デフォルトの名無しさん:2012/07/05(木) 05:47:35.41
ttp://ideone.com/gsa5g
エラーにはならないけど書き換え出来ないね
330デフォルトの名無しさん:2012/07/05(木) 06:10:58.10
>>323
即断でいらんだろ。議論になるのか?
331デフォルトの名無しさん:2012/07/05(木) 07:10:24.04
char s[100];
char *p;

s++; /* × */
p++; /* ○ */
332デフォルトの名無しさん:2012/07/05(木) 08:26:01.87
>>259
IP抜いてネットにばら撒くサイト
210.282.163.188
と書かれた画像が出てきた
333デフォルトの名無しさん:2012/07/05(木) 09:53:04.64
それはIPじゃなくてIPアドレスだろ?
334デフォルトの名無しさん:2012/07/05(木) 10:15:57.29
282w
335デフォルトの名無しさん:2012/07/05(木) 10:16:28.70
IPアドレスですらないぞw
336uy:2012/07/05(木) 16:40:48.02
>>329
はぁああああああああああ???????
お前さぁ原理わかってる?
ローカル環境でそれ実行してみろよ

なんでこんなバカばかりなんだよ死ね初心者

>>318
そのゴミカスコードの
/* S = "12345" Sは配列の先頭要素のアドレスを指すだけなので代入できない*/
これ。説明になってねえよ

「 Sは配列の先頭要素のアドレスを指すだけ」
だから ” なんで ”代入できないか説明してねーじゃん

先頭アドレスをさすならから順番に
12345のデータを入れればいいわけで、それが出来ない理由は?

C言語側がロクな実装になってないから出来ないんだろうがバカ
そこまで説明しろ初心者かお前
337デフォルトの名無しさん:2012/07/05(木) 16:47:20.50
ファビョるなよ。
338デフォルトの名無しさん:2012/07/05(木) 17:02:05.06
説明になっていないという点では同意見だな
339デフォルトの名無しさん:2012/07/05(木) 17:08:08.79
>>336
お前も初心者の域脱してないだろ

とは思うが下の意見については同意
340デフォルトの名無しさん:2012/07/05(木) 17:29:50.71
http://www.kouno.jp/home/c_faq/c6.html
6.2:
でもchar a[]はchar *aと同じと聞いたことがあるが。

A:
全然別のものである・・・


ここら辺の話なのかな。
341デフォルトの名無しさん:2012/07/05(木) 17:50:40.49
河野さんの説明もいまいちだな
循環論法で
342デフォルトの名無しさん:2012/07/05(木) 18:21:04.31
VC++2008 デバッグ逆アセンブル

char a[]="0123456789";
00F013C8 mov eax,dword ptr [string "0123456789" (0F0573Ch)]
00F013CD mov dword ptr [ebp-14h],eax
00F013D0 mov ecx,dword ptr ds:[0F05740h]
00F013D6 mov dword ptr [ebp-10h],ecx
00F013D9 mov dx,word ptr ds:[0F05744h]
00F013E0 mov word ptr [ebp-0Ch],dx
00F013E4 mov al,byte ptr ds:[00F05746h]
00F013E9 mov byte ptr [ebp-0Ah],al
char *b ="0123456789";
00F013EC mov dword ptr [ebp-20h],offset string "0123456789" (0F0573Ch)
343デフォルトの名無しさん:2012/07/05(木) 18:39:13.28
今日もC言語に対して熱心な糞コテuyがいて安心した
344デフォルトの名無しさん:2012/07/05(木) 18:44:14.05
>>342
それを見る限り「代入できている」よなw
345デフォルトの名無しさん:2012/07/05(木) 18:45:43.23
「ポインタ変数」を「ポインタ」で説明するからおかしくなる
説明する人は変数の説明をしてるのか値の説明をしてるのかを明確にすべき
346デフォルトの名無しさん:2012/07/05(木) 18:51:29.59
文字列リテラルの話は環境依存になるから不毛な争いになる
347デフォルトの名無しさん:2012/07/05(木) 18:56:09.49
"123456"[2] = 'A';
348デフォルトの名無しさん:2012/07/05(木) 19:02:05.23
ぶひひ
349デフォルトの名無しさん:2012/07/05(木) 19:23:56.88
上級者面する、初心者未満のゴミカスuy
350デフォルトの名無しさん:2012/07/05(木) 19:53:34.68
俺昔からずーっと思ってて、言ってもあまり支持されないんだけど
Cより先にアセンブラ教えたほうがいいんじゃないか?
もちろんCASLでもなんでもエミュレータでいいからカンタンなので。
実用は別に、まずそっちを教えたらCなんか楽勝じゃないか?
そうすりゃ配列とポインタなんかごっちゃにしようがないし。
351デフォルトの名無しさん:2012/07/05(木) 19:59:32.53
きちんと教えられる奴がいるならね。
352デフォルトの名無しさん:2012/07/05(木) 19:59:39.86
ポインタすら分かるようにならん人間が、
どうしてアセンブラの勉強するなんて思えるのか?
353デフォルトの名無しさん:2012/07/05(木) 20:02:38.46
むしろそこでふるい落としてしまったほうがいいんじゃないか?
354デフォルトの名無しさん:2012/07/05(木) 20:03:53.65
情報処理の試験ってCASL必須じゃなかったっけ?
合格すらしない人はどうせプログラマの土俵にすらあがれないんだし
355デフォルトの名無しさん:2012/07/05(木) 20:05:06.21
ポインタもわからない奴はプログラマじゃないし、
将来プログラマになることもない。
考慮する必要なし。
356デフォルトの名無しさん:2012/07/05(木) 20:05:40.77
アセンブラに『型』に相当するものってあるんすか?
357デフォルトの名無しさん:2012/07/05(木) 20:07:07.00
>>356
無理して参加しなくていいよ
358デフォルトの名無しさん:2012/07/05(木) 20:15:09.55
>>354
CASLどころかExcelもどきで十分ですが
359デフォルトの名無しさん:2012/07/05(木) 20:19:14.45
>>354
受験すらしたことない奴が何言ってんだか
360デフォルトの名無しさん:2012/07/05(木) 20:19:20.52
まぁ、これでもやっとけってこった。
http://home.jeita.or.jp/is/highschool/algo/prm/index.html
361デフォルトの名無しさん:2012/07/05(木) 20:19:49.09
ビット捨てて合格しましたが
362デフォルトの名無しさん:2012/07/05(木) 20:22:00.58
CASL懐かしい
363デフォルトの名無しさん:2012/07/05(木) 20:22:07.51
>>359
今の試験はうけたことないんだよ
旧2種とか旧1種とか言われた時代なんでな
364デフォルトの名無しさん:2012/07/05(木) 20:27:27.36
昔から必須じゃないけど。
365デフォルトの名無しさん:2012/07/05(木) 20:57:31.76
CASか
366デフォルトの名無しさん:2012/07/05(木) 21:02:58.04
旧1種だか特種は必須だったような。
367デフォルトの名無しさん:2012/07/05(木) 21:07:48.94
CASLすら分からん奴がCを語るとは片腹痛い
昔はBASICとマシン語しかなかったんじゃよ
368デフォルトの名無しさん:2012/07/05(木) 21:12:23.46
ラチスC
BDS C
とかなかったけ
pascal系は当時の大型計算機で動いてたような
369デフォルトの名無しさん:2012/07/05(木) 21:23:56.10
つかえねーものを覚えてもしょうがねーだろ
370デフォルトの名無しさん:2012/07/05(木) 21:24:10.37
Turbo C
371デフォルトの名無しさん:2012/07/05(木) 21:30:57.28
仮想マシン用の言語が使えるかって、問題だから
覚えるのが目的ではないような
CASL
372デフォルトの名無しさん:2012/07/05(木) 21:34:03.05
Cは高級アセンブラなんだから
CASLを覚える必要はなくとも理解できなきゃおかしい
373デフォルトの名無しさん:2012/07/05(木) 21:36:47.03
>>368
PC-88 MZ-700 FM-7とか8bit全盛期の話
374デフォルトの名無しさん:2012/07/05(木) 21:47:49.20
>>373
CP/M80が流行ってた?頃
Cコンパイラはもうあったような?
375デフォルトの名無しさん:2012/07/05(木) 21:50:30.37
CASLを覚えても実用じゃないから
376デフォルトの名無しさん:2012/07/05(木) 21:53:31.54
CASLは例えじゃないの?
実用的な機械語理解してりゃべつにCASLに拘らなくていいでしょう
377デフォルトの名無しさん:2012/07/05(木) 21:58:08.10
学習用のアセンブリ言語はCASLだけじゃなかった
今や、Cの吐くアセンブラソースを読める方が実用的な感じ
378デフォルトの名無しさん:2012/07/05(木) 22:07:58.27
CASLを覚えるならMASMでも覚えた方が役に立つ

情処厨はいらね
379デフォルトの名無しさん:2012/07/05(木) 22:08:50.09
Cで書いたものがどういうアセンブラソースになるか知ってるか知らないかで大違い

知らないのは例えばゴミカス王子ことuy

あの馬鹿uyはDLLの関数呼び出しのことを全く分かってなかったよなw

知らないくせに話に混ざりたがる生ゴミ野郎uyが、レスのたびにボロが出るw
380デフォルトの名無しさん:2012/07/05(木) 22:09:32.32
趣味グラマなら試験うかってなくってもいいもんねー
381デフォルトの名無しさん:2012/07/05(木) 22:25:27.54
プログラム系って、資格、学歴じゃないところでやってる人が多いからじゃね
382デフォルトの名無しさん:2012/07/05(木) 22:29:55.82
趣味でプロマネとネスペ取った
383デフォルトの名無しさん:2012/07/05(木) 22:49:14.50
情処厨がつかえると思ってるのか
384デフォルトの名無しさん:2012/07/05(木) 22:53:20.59
証書もらって、その先どうするかは本人次第でしょ
385デフォルトの名無しさん:2012/07/05(木) 22:57:31.25
足の裏の米粒
386デフォルトの名無しさん:2012/07/05(木) 23:47:05.31
ぶひ
387デフォルトの名無しさん:2012/07/06(金) 00:03:39.79
で、初心者>>290への明快な回答は?
388デフォルトの名無しさん:2012/07/06(金) 00:06:12.42
ポインタには実態がないけど
配列には実態がある
389デフォルトの名無しさん:2012/07/06(金) 00:12:15.74
char *s="aaaaaaaaaaaaaaaaaaa";
なぜこの場合に文字列を書き換えられない仕様にしているのか
390デフォルトの名無しさん:2012/07/06(金) 00:13:12.39
>>389
なぜ書き換えようとするのか
391デフォルトの名無しさん:2012/07/06(金) 00:13:54.36
実態・実体・存在とはなんぞや
392デフォルトの名無しさん:2012/07/06(金) 00:15:30.38
"aaaaaaaaaaaaaaaaaaa"
が書き換えるとOSに怒られるところに配置されてるから
393デフォルトの名無しさん:2012/07/06(金) 00:15:36.06
なぜ書き換えようとしないのか
394デフォルトの名無しさん:2012/07/06(金) 00:16:06.51
なぜ書き換えるとOSに怒られるところに配置するのか
395デフォルトの名無しさん:2012/07/06(金) 00:17:53.05
今時のコンパイラは初心者に試練を与えるようなことをするから?
396デフォルトの名無しさん:2012/07/06(金) 00:27:18.44
char *s1="aaaaaaaaaaaaaaaaaaa";
char *s2="aaaaaaaaaaaaaaaaaaa";
s1とs2、実は同じアドレスだったりするかもしれない
s1でもし書き換えちゃったらs2も書き換わってしまうかもしれない
397デフォルトの名無しさん:2012/07/06(金) 00:28:35.96
MASMならDefine Byteで確保した領域は書き換え自由なんだけどね
398デフォルトの名無しさん:2012/07/06(金) 00:29:56.17
MASM病の人は消えてくれ
399デフォルトの名無しさん:2012/07/06(金) 00:29:58.85
書き換える処理があったらコンパイラは別文字列として保存すべきではないのか
コンパイラはそのぐらい気を利かせるべきではないのか
400デフォルトの名無しさん:2012/07/06(金) 00:31:37.63
この中にuyがおる
401デフォルトの名無しさん:2012/07/06(金) 00:32:33.08
>>399
書き換えたい時は、書き換えられるように出来るよ
気を効かせるとか、コンパイラに人のご機嫌取りをするようなことはできないでしょ、コンパイラを作ってる人がやらない限り
402デフォルトの名無しさん:2012/07/06(金) 00:33:02.83
>>387
カニチャーハン読め
403デフォルトの名無しさん:2012/07/06(金) 00:34:01.54
>>399
externとかがないならそういう実装もあるかもね

でも普通は.rodataなんだと思いこんでいたけど違うところに配置される環境もあるのかな
404デフォルトの名無しさん:2012/07/06(金) 00:34:56.55
宣言の仕方覚えるだけじゃね
その先の道のりを考えると
405デフォルトの名無しさん:2012/07/06(金) 00:36:11.54
ttp://www9.plala.or.jp/sgwr-t/c/sec10-3.html
【文字列リテラル】
"January" や "February" のように " " で囲んだ文字列を「文字列リテラル」又は「文字列定数」と呼びます。
文字列リテラルは「定数」であり、本質的に値を変えないものです。
しかし、値を変えないはずの文字列リテラルですが、この単元で説明したようにポインタを用いて指定をした場合、
その変更が可能になってしまいます。そのため、ANSI規格では文字列リテラルを「定数」とは呼びません。

たとえば、

char *p = "ABC";
strcpy(p, "DEF");

とした場合、処理系によっては文字列の書き換えが可能になります。(処理系によっては動作不能になります。)
文字列リテラル内の文字列を変更してよいかどうかは、処理系に依存しますが、 ANSI規格では、
文字列リテラルの変更は未定義(何が起こるかわからないということ)です。
406デフォルトの名無しさん:2012/07/06(金) 00:42:53.73
>>403
またexternかw
407デフォルトの名無しさん:2012/07/06(金) 00:43:32.92
さあそろそろゴミが大量に沸く時間だ
408デフォルトの名無しさん:2012/07/06(金) 01:14:09.80
明日はなまごみの日、朝8時までに所定の場所にだすように
409デフォルトの名無しさん:2012/07/06(金) 01:15:07.75
土曜日の生ゴミか
胸が熱くなるな
410 ◆QZaw55cn4c :2012/07/06(金) 01:29:52.23
>>406
extern は要らない子。霧
411デフォルトの名無しさん:2012/07/06(金) 01:50:27.77
お前がいらないクズ。
412デフォルトの名無しさん:2012/07/06(金) 01:59:23.00
喜ばせるなよ
413デフォルトの名無しさん:2012/07/06(金) 01:59:44.34
externってなんの話?
414デフォルトの名無しさん:2012/07/06(金) 02:38:35.69
>>413
グローバル変数の話
関数の話
Cの規格の話
415 ◆QZaw55cn4c :2012/07/06(金) 03:36:24.54
416uy ◆pdu1UZmweE :2012/07/06(金) 04:49:11.09
>>379
お前の勘違いを、この1回だけ 正してやるが

あの時のバトロワスレでのdllの話題は
プログラミングではなく「ハッキング」の部類なので
お前みたいなゴミカス初心者はお呼びじゃないよ
417デフォルトの名無しさん:2012/07/06(金) 06:00:41.15
dllにdoubleをどう受け渡しするんですかぁ、Win32APIだとできませーんって聞くのがハッキングかw
角度とラジアンの変換くらいわざわざDLLにせんでもよさそうだがなw

あ、初心者スレの話じゃなかった?ゴメンw
418デフォルトの名無しさん:2012/07/06(金) 07:30:21.76
なんだQは40才過ぎてもまだexternの意味を正しく知らなかったのか
C/C++の間でも意味が違うのも知らなそう
419デフォルトの名無しさん:2012/07/06(金) 07:42:40.29
>>416
ゴミカスuyがDLLの話題に入るなんて無理
420デフォルトの名無しさん:2012/07/06(金) 07:51:41.08
自分だけ分からないからって暴れてたuyが滑稽だったなあw
421 ◆QZaw55cn4c :2012/07/06(金) 07:55:54.94
>>418
日本語が不正確だ、もっと勉強しろ。
× C/C++の間でも意味が違うのも知らなそう
◎ C++を知らなさそう
422デフォルトの名無しさん:2012/07/06(金) 08:00:50.85
日本語の文法にしかつっこめないクズ
423デフォルトの名無しさん:2012/07/06(金) 08:20:55.63
マジで40過ぎかよwww

まあ6809を熱く語っていたのでぐぐってみたら1978年とか出てきたから
多分そうだろうと思っていけど突っ込めないところをみると図星かよ

>>421
上から目線でゴミに説教される謂われはねーよ
日本語が分からないんなら分からないと素直に言えクズ
424 ◆QZaw55cn4c :2012/07/06(金) 08:29:28.55
>>423
emacs から乗り換えられないかわいそうな年寄りは敬うものだ。
425デフォルトの名無しさん:2012/07/06(金) 08:30:19.95
時代はmule
426デフォルトの名無しさん:2012/07/06(金) 08:35:41.23
viでイナフ
427デフォルトの名無しさん:2012/07/06(金) 08:41:56.78
40過ぎてニートかぁ
428デフォルトの名無しさん:2012/07/06(金) 09:16:59.26
>>424
おいおい
「敬う」かどうかはこちらが決める事で、年寄りが言う事じゃないだろう
馬鹿は死ぬまで馬鹿だなやっぱ(´゚ c_,゚`)プッ
429デフォルトの名無しさん:2012/07/06(金) 09:36:53.52
>>428
お前の方が馬鹿に見えるんだが…
430デフォルトの名無しさん:2012/07/06(金) 09:37:18.59
↑馬鹿
431デフォルトの名無しさん:2012/07/06(金) 09:38:39.82
>>429
自演乙
堂々とQのコテを付けろよ・・・・

年寄りにも「この人は尊敬出来る」っていう人と、「こりゃひでえ、こんな人間だけにはなりたいねー」
といういろんな奴がいるだろう

そんな簡単な事もわからないのか?いい歳して
432デフォルトの名無しさん:2012/07/06(金) 09:39:03.93
×なりたいねー
○なりたくねー
433デフォルトの名無しさん:2012/07/06(金) 09:47:02.27
なりたいねー
なりたいねー
なりたいねー
434デフォルトの名無しさん:2012/07/06(金) 09:51:18.04
↑ミスを論うだけのこういう人間にはなりたくないね
435デフォルトの名無しさん:2012/07/06(金) 09:53:07.93
Qがファビョっとりますwww

「敬いたくない」と言われて相当頭に来てるようだな
これだから自己愛性パーソナリティ障害は・・
436デフォルトの名無しさん:2012/07/06(金) 09:58:20.39
診断基準

DSM-IVでは誇大な感覚、限りない空想、特別感、過剰な賞賛の渇望、特権意識、対人関係における相手の不当利用、
共感の欠如、嫉妬、傲慢な態度のうち5つ以上が当てはまることで示されるとされている。

自己の重要性に関する誇大な感覚(例:業績や才能を誇張する、十分な業績がないにもかかわらず優れていると認められる
ことを期待する)
限りない成功、権力、才気、美しさ、あるいは理想的な愛の空想にとらわれている。
自分が"特別"であり、独特であり、他の特別なまたは地位の高い人達に(または施設で)しか理解されない、または関係が
あるべきだ、と信じている。
過剰な称賛を求める。
特権意識、つまり、特別有利な取り計らい、または自分の期待に自動的に従うことを理由なく期待する。
人間関係で相手を不当に利用する。つまり、自分自身の目的を達成するために他人を利用する。
共感の欠如:他人の気持ちおよび欲求を認識しようとしない、またはそれに気付こうとしない。
しばしば他人に嫉妬する、または他人が自分に嫉妬していると思い込む。
尊大で不遜な行動、または態度。
※以上の傾向は性格的特長と病気との判別が難しく注意を要する。また、そのボーダーラインは一般社会生活を円滑に
営むことができるかどうかにある。

要点部分
5つ以上が当てはまると自己愛性パーソナリティ障害の可能性がある。

uyもその気があったが、とてもとてもQの尊大さの前にはかないませんわwww
437デフォルトの名無しさん:2012/07/06(金) 10:15:10.43
自作PC板にもピュアAU板に隔離されてた老害が出てきてうざいったらありゃしねえ

ああいう老害がいるから日本がおかしくなってきたんだぜ
下手に寿命を伸ばすのも考えもんだな
438デフォルトの名無しさん:2012/07/06(金) 10:46:41.81
429だけどQじゃないぞ

年寄りは敬うものだ
に対して
「敬う」かどうかはこちらが決める事
う〜ん…
意味が分からん
439uy ◆pdu1UZmweE :2012/07/06(金) 10:49:51.92
>>431
なれよ
440デフォルトの名無しさん:2012/07/06(金) 10:50:30.05
単に先に生まれただけで
小学生みたいな奴を敬えといわれてもな

若くてもしっかりした人間を敬えってほうが納得できる
441デフォルトの名無しさん:2012/07/06(金) 10:50:52.62
もっと分かりやすく、
「オレは年寄りだから敬えYO!!!!!」
と命令すれば良かったんだよ

その方が意味の取り違えがなく、
無事平穏に理解だけはできる

「周りの空気でどうもそういう風に決まっているから、オマエもそうした方がいいよ」
なんてのは技術者には向いてない、
自分の考えで何をどうするか決定する、
それが出来なきゃあ年食っただけの大きな子供だ、
大人じゃあない、

この辺りの言語的センスは
様々なところで威力を発揮するはずだ
C言語の技術的な説明などでも

思っていること・考えていることを分かりやすく伝える、
それこそが必要で重要だよ
442デフォルトの名無しさん:2012/07/06(金) 10:55:13.05
あの文章で意味を取り違える方が馬鹿
443デフォルトの名無しさん:2012/07/06(金) 10:58:01.08
この流れに比べたらまだextern論争のほうが有益だなw
444デフォルトの名無しさん:2012/07/06(金) 11:11:08.19
<>
445デフォルトの名無しさん:2012/07/06(金) 11:15:02.80
こりゃあまた意味浸な暗号だな
perlでいう while(<>) か?
何もしないでスルーしろという
一種の暗号なのか?
446デフォルトの名無しさん:2012/07/06(金) 11:19:16.01
>>440
だよな
ちなみに「1日でも早く生まれていたら敬え」というのは儒教の教えで朝鮮人のものだ
日本にはそんな習慣はない

日本人は年上だろうが年下だろうが「こいつは俺より出来る」と思ったら素直に敬うし
「駄目じゃん」だと思ったら軽蔑、あるいは無視する

そういう傾向が日本という国を大国にのし上げた
年齢ばかり強調して中身のない人間を敬うようじゃそりゃ国が潰れますって
447デフォルトの名無しさん:2012/07/06(金) 11:22:07.95
儒教が朝鮮人のものって
そんな事言うのは朝鮮人くらいだな
448デフォルトの名無しさん:2012/07/06(金) 11:29:13.65
>>447
また無知が何か言ってるよ
敵を倒すにはまず敵の事を良く知らないとな
449デフォルトの名無しさん:2012/07/06(金) 11:30:45.90
簡単な文章すらまともに読めなかったチョンが何言ってんだか
450デフォルトの名無しさん:2012/07/06(金) 11:30:59.46
↑無知
451デフォルトの名無しさん:2012/07/06(金) 11:33:30.31
「年上は敬うべき」
実際この考えは日本に広く浸透してるね
452デフォルトの名無しさん:2012/07/06(金) 11:34:10.31
孔子 儒家の始祖
453デフォルトの名無しさん:2012/07/06(金) 11:34:37.04
儒教なんて程度の差はあれ東アジア一帯に普及してるわけだが。
454デフォルトの名無しさん:2012/07/06(金) 11:36:14.67
>>446
朝鮮だけのものじゃねーしw
無知すぎるwww
455デフォルトの名無しさん:2012/07/06(金) 11:38:30.85
>>451
全然
軽蔑したい老害が多すぎる
456デフォルトの名無しさん:2012/07/06(金) 11:40:22.80
Qは恥ずかしいからコテ付けろよ
どれがQが書いた文章なのか分かりやす過ぎる
457デフォルトの名無しさん:2012/07/06(金) 11:42:10.87
俺をQだと勘違いしている馬鹿がいる〜
458デフォルトの名無しさん:2012/07/06(金) 11:43:28.96
ま、名無しで「勘違いした」「しない」と言ってても水掛け論だけどな
459デフォルトの名無しさん:2012/07/06(金) 11:44:12.07
>>455
本当に日本人なら聞いたことくらいあるはずだが。
朝鮮を引き合いに出すまでもなく。
古くからある慣習に反発する若者もまた多い。
460デフォルトの名無しさん:2012/07/06(金) 11:47:50.61
一般的には年上を敬うってのはいいが
QZは例外
50だろうが60だろうが消えたほうがいいクズ
461デフォルトの名無しさん:2012/07/06(金) 11:55:47.13
>>460
だな
多分50超えてるんじゃないか
あのプログラムの堅さは若い奴のそれではない
462デフォルトの名無しさん:2012/07/06(金) 12:19:09.88
プログラムが堅いって言われると褒められたと思う年代だろQZは、って
ひょっとしてQZってクズから来てるのか?自覚あんだね。
463デフォルトの名無しさん:2012/07/06(金) 12:30:52.95
私は47だが、正直Qの方が余程頑迷な老人に見える。
コテ書いてないから証明のしようもないが。
464デフォルトの名無しさん:2012/07/06(金) 12:34:08.51
大学はコピペ検出システムが完備されてるからクズの書いた特徴があり過ぎる
プログラムはすぐにバレてありがた迷惑なんで宿題スレに出没して欲しくない
465デフォルトの名無しさん:2012/07/06(金) 13:27:33.99
>>340
f( T a1[], T *a2 );
466デフォルトの名無しさん:2012/07/06(金) 13:27:41.94
だな
467デフォルトの名無しさん:2012/07/06(金) 13:41:31.20
孔子は朝鮮人
よって儒教は朝鮮人のもの




468デフォルトの名無しさん:2012/07/06(金) 13:44:59.12
春秋時代の中国の思想家、哲学者。魯国に生まれ
魯は現在の中国山東省南部を指す
469デフォルトの名無しさん:2012/07/06(金) 13:48:31.67
お前らってC言語はさっぱりなのに歴史は詳しいんだなぁ。

470デフォルトの名無しさん:2012/07/06(金) 13:51:18.18
え、netで調べてるだけだよ
471デフォルトの名無しさん:2012/07/06(金) 14:07:53.28
>>465
>全然別のものである(君が聞いた話というのは、関数の仮引数の話だ。
472デフォルトの名無しさん:2012/07/06(金) 14:25:06.91
>>470
ぶひひ
473デフォルトの名無しさん:2012/07/06(金) 14:46:06.03
externってなんのためにあるんだ?
defineじゃだめなのか?
474デフォルトの名無しさん:2012/07/06(金) 14:54:50.48
爆笑
475デフォルトの名無しさん:2012/07/06(金) 15:58:30.52
>>389
ファミコンみたいなのを想定すると解りやすい。
リテラルや命令コードはROMの中だから書き換えができない。
476デフォルトの名無しさん:2012/07/06(金) 17:17:52.60
>>455
「老害」って老人そのもののことじゃないから、
そういう意味で使うなら「害老」の方がいいんじゃね。
「老害」って、害老によって引き起こされる害、のことだろ?
477デフォルトの名無しさん:2012/07/06(金) 17:20:40.94
まったく同じプログラムなのに、
Huカードだと書き換えられないがCD-ROMROMだと書き換えられる、とか?
478デフォルトの名無しさん:2012/07/06(金) 17:59:53.61
質問ですが、
C言語で
可変引数の関数の中で可変引数の別の関数を呼び出したいのですが
引数の渡し方がわかりません。
マクロなら_VA_ARGS_で大丈夫なのですが…。

可変引数関数の中で呼び出している可変引数関数に
受け取った可変引数をそのまま渡す方法はありますでしょうか?
479デフォルトの名無しさん:2012/07/06(金) 18:02:52.81
>>478
va_list
480デフォルトの名無しさん:2012/07/06(金) 18:25:25.34
tanθ=a
aの値を入力するとθの値する関数ってある?
481デフォルトの名無しさん:2012/07/06(金) 18:28:33.84
atan
482デフォルトの名無しさん:2012/07/06(金) 18:59:08.36
>>480
あってない
483デフォルトの名無しさん:2012/07/06(金) 19:00:41.01
a が無限大に相当するケースでも、いけそうなのが atan2()
484デフォルトの名無しさん:2012/07/06(金) 19:00:46.90
char* FormatFunc(char* buffer, const char* format, ...)
{
va_list ap;

va_start(ap, format);
vsprintf(buffer, format, ap);
va_end(ap);
return buffer;
}
485デフォルトの名無しさん:2012/07/06(金) 21:14:41.12
CreateRemoteThreadとLoadLibraryによるDLLの注入について学んでいるのですが
注入される側からDLLを解放するにはどうすればいいのでしょうか
プロセスが終了するときDLL_PROCESS_DETACHが実行されますがFreeLibraryしなくていいわけではないですよね
終了するときに別スレッドでFreeLibraryを呼べばいいのでしょうか
486デフォルトの名無しさん:2012/07/06(金) 21:17:31.22
>>485
使途が良からぬ事なので教えられない
487デフォルトの名無しさん:2012/07/06(金) 21:24:28.22
LoadLibraryしたスレッドで終了時にFreeLibraryしたらあかんのけ
>ちゅうにゅう
?
488デフォルトの名無しさん:2012/07/06(金) 21:33:08.90
おまわりさんこの使途です
489デフォルトの名無しさん:2012/07/06(金) 21:39:31.87
490デフォルトの名無しさん:2012/07/06(金) 21:40:32.94
>>489
加担すんなクズ
491デフォルトの名無しさん:2012/07/06(金) 21:44:26.12
DLLの注入するプログラムから足つくから
492デフォルトの名無しさん:2012/07/06(金) 21:50:37.66
ストーカー相手のPCにキーロガーか
493485:2012/07/06(金) 22:04:14.90
大抵碌な事には使われないので否定してもしょうがないですが注入って違法でしたっけ
共有メモリが面倒なのでLoadしたらそのプロセスは終了してDLLで処理しようと考えていたのですが
あと加担も何もググればすぐ出ますよ、そのサイトは
どうやら答えはここには無かったようですねw
494デフォルトの名無しさん:2012/07/06(金) 22:06:42.23
そりゃあスレ違いだからな。
495デフォルトの名無しさん:2012/07/06(金) 22:11:24.01
言葉だけで語ってる人は何やりたいのか、よーわからんね
496デフォルトの名無しさん:2012/07/06(金) 22:50:00.32
C言語ってグライバッハ標準形を使ってますか?それともチョムスキーですかね?
497デフォルトの名無しさん:2012/07/06(金) 22:51:15.78
ムソルグスキーだよ
498デフォルトの名無しさん:2012/07/06(金) 23:19:54.57
むしろデベロビラスキーが主流だ
499デフォルトの名無しさん:2012/07/06(金) 23:20:21.36
DLLインジェクションって言うのか・・・こりゃ危ないな
500デフォルトの名無しさん:2012/07/06(金) 23:22:09.39
ゼバスチャン・バッハだろうjk
501デフォルトの名無しさん:2012/07/06(金) 23:23:23.07
フォージェリってかっこいい響き
502デフォルトの名無しさん:2012/07/06(金) 23:25:30.32
>>484
ありがとうございます。
しかし、やりたいことは…
char* FormatFuncA(const char* format, ...);

char* FormatFuncB(char* buffer, const char* format, ...)
{
//↓ここに何をいれればいいのかがわからないのです。
return FormatFuncA(format, /*???*/);
}
503デフォルトの名無しさん:2012/07/06(金) 23:29:28.89
>>502
1.va_list 対応版の関数を作る
2.マクロでなんとかする
504デフォルトの名無しさん:2012/07/06(金) 23:32:11.79
char* FormatFuncB(char* buffer, const char* format, ...)
{
//↓ここに何をいれればいいのかがわからないのです。
va_list ap;/*ここ*/
char *buf;

va_start(ap, format); /*ここ*/
buf=FormatFuncA(format,ap);
va_end(ap); /*ここ*/

return buf;
}

ttp://program.station.ez-net.jp/special/vc/basic/function/stdarg.asp
505デフォルトの名無しさん:2012/07/07(土) 00:02:25.98
C言語をつかえば、どんなものでも作れると聞いて勉強していますが
未だに 彼女が作れません

C#なんてお手軽ななんちゃって言語を使ったほうがいいですかね?
506デフォルトの名無しさん:2012/07/07(土) 00:09:20.94
そんなセンスじゃ何やってもダメだろうね
507 ◆QZaw55cn4c :2012/07/07(土) 07:38:21.51
>>461,462
>プログラムの堅
>プログラムが堅いって言われると
コードが堅い、ってどういう意味ですか?具体的に例をあげて堅いとはどういうことか説明いただけませんか?
堅くて大きいほうが喜ばれるものだとおもっていたんですけど。
508デフォルトの名無しさん:2012/07/07(土) 08:19:58.31
QZは童貞
509デフォルトの名無しさん:2012/07/07(土) 08:36:47.44
>>507
馬鹿の壁
510デフォルトの名無しさん:2012/07/07(土) 09:20:16.95
>>507
そりゃ40才、50才にもなれば頭が固くなるのは当たり前だろ
今から何か新しい資格取れるか?若い頃に比べればまず無理だろ?
だから会社は中途採用を嫌がる
仕事をどんどん覚えなくなって自分勝手ばかり言い出すからね
511デフォルトの名無しさん:2012/07/07(土) 10:21:51.48
頭が柔軟なら、50になっても経験を活かして新しいことを学べるからそういう人は重宝されるけどね。
512デフォルトの名無しさん:2012/07/07(土) 10:28:44.51
言いなりにならないからだよ。
知恵付けてれば反抗してくるからな。
若いのは若いですぐ辞めるけどw
まあこれが健全ってことなんだがなw
513デフォルトの名無しさん:2012/07/07(土) 11:03:30.58
クズの頭の悪さは年齢関係ないだろ
514デフォルトの名無しさん:2012/07/07(土) 11:14:45.50
そう
年がいったからと言って賢くなるとは限らない
特に性格の悪さはむしろひどくなると言って良い
そんな奴を尊敬しろだと?傲慢にもほどがある
515デフォルトの名無しさん:2012/07/07(土) 12:08:22.23
年寄りはサボることにかけて全力だからな
516デフォルトの名無しさん:2012/07/07(土) 12:11:38.26
>>511
そんなやついねーよ
50過ぎて頭が柔軟なら永田町みたいなひどい政治をするはずがない
皆頭カチコチじゃねーか
517デフォルトの名無しさん:2012/07/07(土) 12:18:07.65
>>516
いいから家から出て働けよニート君
いろんな人間に出会えるぞ
518デフォルトの名無しさん:2012/07/07(土) 12:19:14.92
>>517
お前誰に向かってニートなんて言ってるんだ?
社会人だぞアホ
お前こそニートだろ
519デフォルトの名無しさん:2012/07/07(土) 12:24:34.32
>>514
じゃあお前は相当年いってるの?
若くてそれ?
520 ◆QZaw55cn4c :2012/07/07(土) 13:23:39.23
>>510
>新しい資格取れるか?
電気を勉強したくなったので、電気主任技術者試験第3種にトライ中です。今年は残りの「法規」だけがんばればいいのですが、こういう文系的なのは生来向いていないようで、ちょっと辛いです。
来年は2種を取りたいなあ。
521デフォルトの名無しさん:2012/07/07(土) 13:29:26.27
ニートジジイが今更どんな資格を取ろうとまともな仕事には就けないけどな
医者にでもなれば話は別だが
522デフォルトの名無しさん:2012/07/07(土) 13:31:47.50
Qは確か今持ってるPCがPhenomX2とCore2Duoのノートとか言ってたよな
CPU-Zのスクリーンショットはまだうpできないの?

そりゃ出来ないわな持ってないんだもの
見栄を張るために嘘付いてな
523デフォルトの名無しさん:2012/07/07(土) 13:38:35.48
中年にもなってPCの2台や3台買えない人って・・・・
あ、無職だから仕方ないのか
524デフォルトの名無しさん:2012/07/07(土) 13:51:29.22
医者になるしかねえ
525デフォルトの名無しさん:2012/07/07(土) 13:55:35.11
誤診だらけの人殺しになるぞ
526デフォルトの名無しさん:2012/07/07(土) 14:07:38.89
資格は取るにも維持にも金が掛かるからな。
ただの無駄金だよ。
527デフォルトの名無しさん:2012/07/07(土) 14:40:29.23
>>516
政治家は意見調整の役割を担ってるからがんじがらめになりがちなんだよ。
少しくらいは勉強した方がいい。
528デフォルトの名無しさん:2012/07/07(土) 14:45:16.23
>>527
その中から5%抜かなきゃいけないしな
529デフォルトの名無しさん:2012/07/07(土) 15:07:16.32
資格試験みたいに出る問題がほぼ決まってて答えを覚えるだけ考える必要が無いものはQは得意そうだ
530デフォルトの名無しさん:2012/07/07(土) 15:09:02.57
>>527
政治家に例えたのはそういう意味じゃないんだけどな
どっかそこら辺にいるオヤジでもいいよ
すっかり頑固になっちまって絶対に自分の意見を曲げない
そういうのを頭が固いと言うんだ
531デフォルトの名無しさん:2012/07/07(土) 15:09:37.74
あ、自分が正しくて意見を曲げないのはいいよ
自分が明らかに間違ってても曲げないからタチが悪いんだよ
532デフォルトの名無しさん:2012/07/07(土) 15:22:24.87
↑ほんとタチ悪いねぇ〜
533デフォルトの名無しさん:2012/07/07(土) 15:57:34.11
>>530
政治村の話だ我々には関係ない
534デフォルトの名無しさん:2012/07/07(土) 16:03:42.03
お前らってC言語はさっぱりなのに政治は詳しいんだなぁ。
535デフォルトの名無しさん:2012/07/07(土) 16:06:11.10
Cの救済にあたる弟子たち。
536デフォルトの名無しさん:2012/07/07(土) 16:19:31.26
意見を「曲げる」必要はないし、
二言ばっかりなやつは節操がないだけで頭が柔らかいのとは違う
537デフォルトの名無しさん:2012/07/07(土) 17:28:44.32
節操がないのは厚化粧より全然嫌だ
538デフォルトの名無しさん:2012/07/07(土) 18:01:20.30
まがったことがきらいなひとは、警察官になれます!
539デフォルトの名無しさん:2012/07/07(土) 18:08:46.12
a
540デフォルトの名無しさん:2012/07/07(土) 18:09:39.12
セキュリティホールってどうやって探すんですか
541デフォルトの名無しさん:2012/07/07(土) 18:11:26.40
探してどうすんの?
542デフォルトの名無しさん:2012/07/07(土) 18:12:16.48
穴があったら入れたい年頃なんだろ
543デフォルトの名無しさん:2012/07/07(土) 18:12:30.46
パッチを作りたいです
544デフォルトの名無しさん:2012/07/07(土) 18:14:58.47
何のセキュリティホールかも分からないのにどうしろと
545デフォルトの名無しさん:2012/07/07(土) 18:16:12.77
>>538
いやいや警察の組織内が曲がった事だらけなんで。
546デフォルトの名無しさん:2012/07/07(土) 18:27:33.88
>>544
侵入するためのセキュリティホールです
547デフォルトの名無しさん:2012/07/07(土) 18:30:26.55
ホール
548デフォルトの名無しさん:2012/07/07(土) 18:33:48.15
ちょっと言葉が足りなかった
システムに侵入するためのセキュリティホールです
549デフォルトの名無しさん:2012/07/07(土) 18:58:34.14
日本人は、先進諸国で飛び抜けてマスコミ報道を鵜呑みに
信じやすいことがこの動画で実証されています。

いわばマスコミ報道の「鵜呑度」を国際比較すると、
日本人は、先進国中ダントツに「鵜呑度」が高く70%、
最も低い国民は英国で14%です。
その他の主要欧米諸国(ロシアを含め)は20−35%です。
日本に近い国は、ナイジェリア、中国など、途上国と新興国となります。

別の言い方をすれば、日本人の70%は、
自分の頭で考えず(思考停止)、
テレビ、新聞、週刊誌などのマスコミの情報を鵜呑みにしていることを意味します。
青山は以前からこれを「観客民主主義」と言っています。
観客民主主義は、マスコ ミの情報操作による世論誘導に最も陥りやすく、
独裁にも呼応しやすい特性を持っています。

マスコミ報道「鵜呑度」
日本人70%、英国人14% You Tube
http://www.youtube.com/watch?v=ypPqsWUC6Vo

http://www.asyura2.com/12/senkyo132/msg/578.html
550デフォルトの名無しさん:2012/07/07(土) 18:59:44.25
>>548
ダウジング
551デフォルトの名無しさん:2012/07/07(土) 19:04:04.17
>>548
ソースコードを調べたり、既知のセキュリティホールから類推したり、
それ用のツールを使ったりして探す。

まずネットワーク板あたりを散歩してみるがよろし
ttp://toro.2ch.net/hack/
552デフォルトの名無しさん:2012/07/07(土) 19:07:27.89
ホワイトボックステスト

ブラックボックステスト
553デフォルトの名無しさん:2012/07/07(土) 19:21:06.43
ぶひ
554デフォルトの名無しさん:2012/07/07(土) 19:21:35.81
Linux環境でGCCを使った場合で良くわからないので教えてください。


グローバルに巨大な配列を作る実験をしたとき、

1.ある程度以下のサイズの配列の場合、サイズに依存してコンパイルに時間がかかりました

2.ある程度以上のサイズの配列の場合、コンパイルはあっという間に終了したのですが、
実行しようとすると「強制終了」とメッセージが出て動きません


メモリマップなどが関係あるようなのですが、上記の現象が発生したときどのようなことが
行われているのか、教えてください。
555デフォルトの名無しさん:2012/07/07(土) 19:26:56.26
実験したような感想じゃないなあ?
556デフォルトの名無しさん:2012/07/07(土) 19:36:49.88
何バイトが境界か突き止めろ
557デフォルトの名無しさん:2012/07/07(土) 19:46:01.87
>>554
実験したソースを晒してみそ
558デフォルトの名無しさん:2012/07/07(土) 19:46:15.65
linux環境なら、ソース嫁よ

OSもコンパイラもソースが公開されてるんだし
559デフォルトの名無しさん:2012/07/07(土) 20:01:19.47
ぶひひ
560デフォルトの名無しさん:2012/07/07(土) 20:16:11.17
>>554
> サイズに依存してコンパイルに時間がかかりました

初期化をやめれば良い。

> 2.ある程度以上のサイズの配列の場合、
> 実行しようとすると「強制終了」とメッセージが出て動きません

エラーメッセージは他にはないの?
ないならデバッガ上で実行したら?

たぶんデータセグメントの上限超えてるんだと思うけど。
カーネルが許す範囲で済むならulimit -dで変更できる。
561デフォルトの名無しさん:2012/07/07(土) 20:16:46.10
今日からはじめた
printf("よろしく\n");
562 ◆QZaw55cn4c :2012/07/07(土) 20:22:30.93
>>522
>PhenomX2
PhenomII x6 です。

>見栄を張る
さすがに屁ノム程度で見栄を張れるとは思っていません。所詮、屁ノムだしー。
563デフォルトの名無しさん:2012/07/07(土) 20:22:50.48
へえ
564デフォルトの名無しさん:2012/07/07(土) 20:44:25.51
>>557

#include <stdio.h>

#define MAX (4000000000)

static double a[MAX];


int main()
{
for (int i=0; i<MAX; i++) a[i] = (double)i;
for (int i=0; i<MAX; i++) printf("%e\n", a[i]);

return 0;
}

うろおぼえですが、こんなかんじでした
物理メモリは、たしか6G×2CPU
forループは、コンパイラが気を利かせて消したりしないようにするためです



>>560
HowのQではなく、WhyのQですので
メッセージは他にないです。デバッガと設定コマンドは週明けに試してみます。
565デフォルトの名無しさん:2012/07/07(土) 20:53:02.79
物理メモリの問題じゃないし、CPU の数も関係ない
Linux の多重仮想記憶と P6 以後の PAE について調べるべし
566デフォルトの名無しさん:2012/07/07(土) 20:54:04.22
mallocなどにしたらいいんじゃないの?
567デフォルトの名無しさん:2012/07/07(土) 20:54:17.88
変な奴w
568デフォルトの名無しさん:2012/07/07(土) 20:56:46.98
4000000000*8=32000000000
32000000000/1024=31250000(k)
31250000/1024=30517.578125(M)
30517.578125/1024=29.802322388(G)
569デフォルトの名無しさん:2012/07/07(土) 21:01:07.25
>>564
スタックかヒープじゃないのね
570デフォルトの名無しさん:2012/07/07(土) 21:07:14.12
>>564
物理メモリが6GのPCで、30G近い静的メモリを消費するプログラムって
起動できるんだっけ?
571デフォルトの名無しさん:2012/07/07(土) 21:09:55.44
572デフォルトの名無しさん:2012/07/07(土) 21:11:29.81
ぶひひ
573デフォルトの名無しさん:2012/07/07(土) 21:15:12.47
64bitCPU系なら仮想的にマッピングは出来るかもしれないけど、動作環境として使い物になるかは不明、約30Gの変数
574デフォルトの名無しさん:2012/07/07(土) 21:16:52.73
仮想メモリ使っても最低限64bit OSじゃないと無理だよね。
575デフォルトの名無しさん:2012/07/07(土) 22:33:13.28
渾身の下ネタをかるくスルーされる気持ちって。
576デフォルトの名無しさん:2012/07/07(土) 22:38:52.45
ぶひ
577デフォルトの名無しさん:2012/07/07(土) 22:56:22.15
char **argv と char *argv[] の違いはなんでしょう?
前者は argv の値を変更できるけど、後者はダメとか、そうゆう解釈であってますか?
578デフォルトの名無しさん:2012/07/07(土) 22:59:03.07
違います(きり)
579デフォルトの名無しさん:2012/07/07(土) 22:59:34.38
どっちがかっこよく見えるかぐらいの違い?
580デフォルトの名無しさん:2012/07/07(土) 23:04:15.05
>>578-579
見た目の問題なんですね、情報ありがとうございます。
581デフォルトの名無しさん:2012/07/07(土) 23:05:09.70
>>580
ポインターと配列の違いは分かるの?
582デフォルトの名無しさん:2012/07/07(土) 23:06:47.67
なんかサラリと
> argv の値を変更できる
とか
コワイこと言ってるぞコイツ

argvは変えるなアホ
書き換えるな
絶対にだ

そういう質問してるうちは
変更するなクズ
583デフォルトの名無しさん:2012/07/07(土) 23:06:55.65
>>581
ポインタには * が付いていて、配列には[] が付いてるとか
その程度の理解です><;
584デフォルトの名無しさん:2012/07/07(土) 23:08:35.28
>>583
C言語の本を読むことを勧める
585デフォルトの名無しさん:2012/07/07(土) 23:10:38.39
>>584
がんばります(`・ω・´)
586デフォルトの名無しさん:2012/07/07(土) 23:11:29.10
読んで理解するより、実行しながら考えようね
587デフォルトの名無しさん:2012/07/07(土) 23:23:55.38
588デフォルトの名無しさん:2012/07/07(土) 23:24:42.09
char **argv
・・・ってどーゆー意味ですか
ポインタへのポインタとか
589デフォルトの名無しさん:2012/07/07(土) 23:25:35.36
>>588
だかr教科書よめよゴミカス
590デフォルトの名無しさん:2012/07/07(土) 23:30:26.55
main関数のargvのこと言ってるのなら
char argv[][]
で考えてみたら
591デフォルトの名無しさん:2012/07/07(土) 23:31:11.31
void func(void)
{
  int i;

  if(・・・){
    int j;
    ・・・・・
  }
  ・・・・・
}

のような変数 i,j があるとき、関数funcが呼び出された時に変数i のメモリが確保されることは
分かったのですが、変数j のメモリが確保されるタイミングも、関数funcが呼び出された時ですか?
592デフォルトの名無しさん:2012/07/07(土) 23:37:03.91
  if(・・・){
    int j;
    ・・・・・
  }
括弧に入ったとき

Cはこんなことできたっけ
593デフォルトの名無しさん:2012/07/07(土) 23:37:45.05
>変数i のメモリが確保される
最適化されない時の話?
どこのコンパイラ使ってる?
594デフォルトの名無しさん:2012/07/07(土) 23:42:32.57
C99でできるんじゃないっけ?
595デフォルトの名無しさん:2012/07/07(土) 23:43:47.56
時代おくれだ、gcc4.4は?
596デフォルトの名無しさん:2012/07/07(土) 23:48:21.39
>>593
コンパイラは visual studio の cl.exe を利用しています。
すみません、最適化は特にしていない時の話だったのですが、
C言語共通のルールというよりは、コンパイラの実装依存の話に
なってくるのでしょうか?
597デフォルトの名無しさん:2012/07/07(土) 23:59:12.85
>>596
C++だよ
598デフォルトの名無しさん:2012/07/08(日) 00:02:16.12
>>582
#define const
int main(int argc, char const * const * const argv)
{
while(*++argv) puts(*argv);
return 582;
}
599デフォルトの名無しさん:2012/07/08(日) 00:03:51.00
getopt は平気で argv を書き換えるけどな
600デフォルトの名無しさん:2012/07/08(日) 00:07:24.24
>>596
変数がメモリに確保と言うよりは
変数の生存期間で考えたほうがいいような、最初のうちは
601デフォルトの名無しさん:2012/07/08(日) 00:10:05.68
>577

ttp://ichigo-up.com/cgi/up/qqq/nm53226.jpg
書籍 Cプログラミングの非常識
河西 朝雄 (著)
ISBN-10: 4874085377
ISBN-13: 978-4874085370
602デフォルトの名無しさん:2012/07/08(日) 00:10:43.40
>>597
{ } 内での変数宣言はC++の仕様だったのですか・・・C言語の仕様と勘違い
してました、失礼しました<(_ _)>

>>600
確かにそうかもしれないですね・・・ありがとうございます。
603デフォルトの名無しさん:2012/07/08(日) 00:15:14.38
>>601
おお、よくわかりました。情報どうもです(`・ω・´)
604デフォルトの名無しさん:2012/07/08(日) 00:17:00.66
>{ } 内での変数宣言はC++の仕様だったのですか・・・C言語の仕様と勘違い
>してました、失礼しました<(_ _)>

バカが知ったかぶりしてるだけなのに、真に受けるな
605デフォルトの名無しさん:2012/07/08(日) 00:18:07.68
スコープ { } の先頭で 変数宣言するのはC言語でも合法
606デフォルトの名無しさん:2012/07/08(日) 00:26:03.60
Cの規格

C99
1999年12月には、ISOで規格の改定が行われ、C++の機能のいくつかを取り込むことを含めた機能拡張がなされ ISO/IEC 9899:1999(E)
主な追加機能:
変数宣言がブロックの先頭でなくても良くなった。
_Bool 型(予約語)が追加になり、#include <stdbool.h> により、bool 型が使えるようになった。
64ビット整数値を保持できる long long int 型の追加。
// による1行コメント。
インライン関数(inline キーワード)。
可変長配列(alloca 関数の代替)。
607デフォルトの名無しさん:2012/07/08(日) 00:28:34.50
>>601
OS側ってなんだよ。非常識だな。(笑)
608デフォルトの名無しさん:2012/07/08(日) 00:33:26.11
コマンドラインを解析してアプリケーションに渡すのはOSの仕事でしょ。
609デフォルトの名無しさん:2012/07/08(日) 00:36:47.39
解析はアプリ
アプリがOS経由で他のアプリを起動しているだけ
610デフォルトの名無しさん:2012/07/08(日) 00:37:46.33
質問なのですが
char *buf[100]のポインタの配列をmallocで領域を確保して
for(int i = 0; i < 100; i++) {
free(buf[i]);
}
の処理を行っていたのですが誤ってfreeの処理を2回行ってしまったところ、
_CrtIsValidHeapPointer(pUserData) のエラーが発生してしまいました。
原因は分かったのですが何故エラーが発生したのか教えて頂けませんか。
611デフォルトの名無しさん:2012/07/08(日) 00:38:05.72
ワイルドカードの展開を
スタートアップ(アプリケーションエントリポイント〜main を呼び出すまでのスキマ)で面倒見る環境もあったりする
612デフォルトの名無しさん:2012/07/08(日) 00:39:45.53
>>610
自分でエラーが出ることしたって書いてるじゃん
613デフォルトの名無しさん:2012/07/08(日) 00:41:22.13
>>610
未開放、多重解放や確保領域を超えて書き換えたりしたのを捕まえる管理つきの malloc を呼んでるから

free 時に malloc されたものか チェックしてるん
614デフォルトの名無しさん:2012/07/08(日) 00:45:02.34
>>612-613
なるほど多重解放じたいが禁止されているっていうことですね…
勉強になりました、ありがとうございます
615デフォルトの名無しさん:2012/07/08(日) 00:50:34.19
>>606
わざわざそんなずれた部分を引用しているところからして
>>592>>594>>597のバカのどれかだと思うが

ブロックとはどういうものか、よーくおべんきょうしてみるといいよ。
>>591がどこで変数を宣言しているかもね。
616デフォルトの名無しさん:2012/07/08(日) 00:53:53.71
>>608
引数の渡し方はC言語の定義するところではないが、「確保」という言葉を使っ
ているので、スタック渡しを意図しているのだろう。
引数はスタックフレームの外なのだから、argvもmain側には確保され
ていない。argvはmainを呼び出した(OS側)が確保している。

> あくまでもmain側で確保されている引数はargvの一つであり
はウソ。

となると、mainに限らず*arg[]とchar **argの記述のどちらかという問題になる。
mainだけ特別視する必要はなく、OS側も出す必要はない。
617デフォルトの名無しさん:2012/07/08(日) 00:55:51.46
>mainに限らず*arg[]とchar **argの記述のどちらかという問題になる。
?
618デフォルトの名無しさん:2012/07/08(日) 00:59:40.58
面倒くさい奴だな。それくらい補完しろ。
> mainに限らず*arg[]と**argの記述のどちらかという問題になる。
619デフォルトの名無しさん:2012/07/08(日) 01:02:23.88
関係ねーよ
620デフォルトの名無しさん:2012/07/08(日) 01:14:55.00
>>564
グローバルじゃないじゃん。
621デフォルトの名無しさん:2012/07/08(日) 01:20:34.17
三笠宮さま 心臓の機能が低下
7月7日 22時27分

天皇陛下の叔父の三笠宮さまは、心臓の機能が低下しているため、東京都内の病院で医師の手当てを受けられています。

三笠宮さまは先月14日に行われた長男の寛仁さまの葬儀の際に胸部に違和感を訴え、疲れもたまっているとみられたため、
翌日、大事をとって東京・中央区の聖路加国際病院に入院されました。
入院は当初1週間程度の予定でしたが、その後、かぜの症状が見られたため抗生物質の投与などの治療が続けられ、
かぜは治まったものの,7日になって心臓の機能が大きく低下し始めたということです。
三笠宮さまは心不全の状態が続いていて、集中治療室で医師の手当てを受けられているということです。
病院には7日夜、三笠宮妃の百合子さまがお見舞いに来られました。三笠宮さまは昭和天皇の弟で、天皇陛下の叔父に当たり、96歳になられます。

http://www3.nhk.or.jp/news/html/20120707/t10013423411000.html
622 ◆QZaw55cn4c :2012/07/08(日) 04:05:01.14
>>606
>>594
K&R1のときからできる馬鹿死ね
623デフォルトの名無しさん:2012/07/08(日) 07:32:20.14
>>622
>>594>>606もバカだが。C99じゃなきゃできないとは書いていない。カス死ね。
624デフォルトの名無しさん:2012/07/08(日) 07:45:50.11
どっちとも取れるが
C99の説明を出してるあたりがおかしい
625デフォルトの名無しさん:2012/07/08(日) 10:07:27.63
否定、非難だけして解等、解説しないやつは
自分は優れてると自己顕示したいだけのクズ。
626デフォルトの名無しさん:2012/07/08(日) 10:09:53.75
×解等
○解答
627 ◆QZaw55cn4c :2012/07/08(日) 10:30:02.96
>>625
なるほど深く同意しますまったくそのとおりですよね堅いとか糞とか言い放つのみで理由を書かないいや書けないのは本当に葛ですよね(棒)
628デフォルトの名無しさん:2012/07/08(日) 10:48:02.43
一応整理しておこう。
ブロックの先頭での変数宣言は、c89の時点でも普通に使えた。
しかし、一部の教条主義者は未だに(それが仮令c++であろうとも)関数の先頭での宣言に拘泥している。
Ex.
--
int main(int argc, char ** argv)
{
int i, j, l;
for (i = 1; i < argv; ++i) {
l = strlen(argv[i]);
for (j = 0; j < l; ++j) {
putchar(argv[i][j]);
}
}
return 0;
}
--
c89でも通ることを前提に、変数を局所化する。
--
int main(int argc, char ** argv)
{
int i;
for (i = 1; i < argv; ++i) {
int l = strlen(argv[i]);
int j;
for (j = 0; j < l; ++j) {
putchar(argv[i][j]);
}
}
return 0;
}
629デフォルトの名無しさん:2012/07/08(日) 10:54:55.22
変数の宣言を関数の冒頭に集めるのはソースを読み易くするためだ
COBOLにおけるDATA DIVISION.みたいなもんだ
630デフォルトの名無しさん:2012/07/08(日) 10:58:53.70
> しかし、一部の教条主義者は未だに(それが仮令c++であろうとも)関数の先頭での宣言に拘泥している。

そんなの、どこにいるの? って聞こうと思ったらすぐ下に居た。w
631デフォルトの名無しさん:2012/07/08(日) 10:59:48.50
変数のスコープを限定する方が読み易くなる。
関数の先頭の方がとか言ってるのは、文法すらろくに知らないで恥をさらしていたバカだけ。
632デフォルトの名無しさん:2012/07/08(日) 11:01:41.09
まぁ、そう聞くとご尤もと言いたくはなるが、
そういう教条主義者に限って関数が無闇と長い。
処理も変数も局在化できないのだろう。

そもそも、私は自分が把握しきれる能力限界である
100行程度以上の関数は書けない。
その手の教条主義者が私よりも遥かに把握能力が
高いというのでなければ、関数内の全てを把握
できないまま書いているに違いない。
633デフォルトの名無しさん:2012/07/08(日) 11:02:42.04
しかもCOBOLとか。
原始時代の方ですかね。
634 ◆QZaw55cn4c :2012/07/08(日) 11:03:20.57
>>628
2番目の例がイミフ
>int l = strlen(argv[i]);
QZはこんな書き方は許されなかったし許さなかったかわいそうな世代だから敬え
635デフォルトの名無しさん:2012/07/08(日) 11:04:47.96
>>632
bンジンの言い訳だろそれww
記憶能力把握能力がはるかに超越したハッカーが書いてるソースだって
あるんだよww
636デフォルトの名無しさん:2012/07/08(日) 11:10:38.69
>>634
うるさい無職の老害のQは氏ね
637デフォルトの名無しさん:2012/07/08(日) 11:11:14.62
>>629
>変数の宣言を関数の冒頭に集めるのはソースを読み易くするためだ
ダウト。変数のスコープはブロックに限られるので、ブロックの外では
絶対に使われない変数となる。それが先頭にあったほうが読みやすいとは
思わない。


但し、そんなに変数がたくさん必要になる時点で、関数にくくりだしたほうがよい
ケースが多いように思う。
だから関数の先頭以外の、ブロックの先頭に変数宣言があるようなコードが、
読みにくいということには同意。

自分がよくやるのは↓みたいなこと。

void func(void)
{
 switcht (state) {
  int tmp;  /* switch内だけで使う一時変数 */
 case A:
  break;
 case B:
  {
    int work; /* 処理B内だけで使うワーク変数 */
  }
  break;
 }
}
638デフォルトの名無しさん:2012/07/08(日) 11:12:38.87
スコープを狭くするためだけに
{
}
を書く奴
639デフォルトの名無しさん:2012/07/08(日) 11:32:25.42
>>637
あながちダウトでもない。
IDE使えば変数の定義を参照するのは簡単だけど、エディタだけだと変数が
関数の先頭で定義されていれば定義を参照する際に楽だというケースもある。
ある程度固まっていないというか、無分別に散らばってると見難くなると思う。

↓これはオレルールではダメな書き方。理由: 初期化ができない。
 switcht (state) {
  int tmp;  /* switch内だけで使う一時変数 */
}
640デフォルトの名無しさん:2012/07/08(日) 11:39:19.91
>>639
なんで初期化できないの?
641デフォルトの名無しさん:2012/07/08(日) 12:32:01.11
#include <stdio.h>
int main(int argc, char *argv[])
{
  switch(argc) {
  case 2:
    {
      FILE *file = fopen(argv[1], "w");
      fputs("case 2\n", file);
      fclose(file);
    }

    break;
  default:
    fputs("default\n", stdout);
    break;
  }
  return 0;
}
/*
C:\Borland\bcc55\Bin>bcc32 fputs.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
fputs.c:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland

C:\Borland\bcc55\Bin>fputs e.txt

C:\Borland\bcc55\Bin>type e.txt
case 2

*/
642デフォルトの名無しさん:2012/07/08(日) 12:49:31.63
>>632
教条を知らなかった者が人を教条主義よばわりとは笑止千万

プログラムが 100 行以内なら変数はグローバルでよいと本気で言うなら
もっと説得力のある言い方をしないとアホにしか見えないぜ

# 教条主義といえば goto 禁止厨のコードが無駄に長い傾向なら俺も認める
643デフォルトの名無しさん:2012/07/08(日) 12:54:15.13
>>637
tmp workという名前はダメ
ゴミカスはこれだから
644デフォルトの名無しさん:2012/07/08(日) 12:55:41.11
また難しい話になってきたな
645デフォルトの名無しさん:2012/07/08(日) 13:10:48.77
これが難しいとかホザクなら
お前は回答者とかにはなれんな
半年ROMれよアホ
646 ◆QZaw55cn4c :2012/07/08(日) 13:16:22.78
>>642
>>632 から
「プログラムが 100 行以内なら変数はグローバルでよいと」
とどうやって導出したのかしばし一考。

今は「局在化」とは、変数を関数の最初にまとめるかどうか、そのスタイルが多くの場合には適切かどうか、について議論が進んでいるのではと思っていたのだが。
647デフォルトの名無しさん:2012/07/08(日) 13:18:00.16
Visual Studio 2010でreleaseしたexeファイルはVisual Studio 2010がないと動かないんでしょうか?
馬鹿な質問ですがよろしくお願いします。
648デフォルトの名無しさん:2012/07/08(日) 13:20:18.48
>>647
ランタイムが必要になることがある
msvcr100.dll とか
649デフォルトの名無しさん:2012/07/08(日) 13:20:29.98
>>647
http://www.microsoft.com/en-us/download/details.aspx?id=5555

これと.NETが4.0まで入ってれば動く
650デフォルトの名無しさん:2012/07/08(日) 13:21:06.77
651デフォルトの名無しさん:2012/07/08(日) 13:22:30.22
>>648-650
親切にサイトまで教えていただきありがとうございました!
非常に助かりました。
652デフォルトの名無しさん:2012/07/08(日) 13:22:32.64
スコープで変数を局所化したCのソースなんかサンプル以外で見たことないぞ
653デフォルトの名無しさん:2012/07/08(日) 13:31:40.54
>>639
>IDE使えば変数の定義を参照するのは簡単だけど、エディタだけだと変数が
>関数の先頭で定義されていれば定義を参照する際に楽だというケースもある。

えーっ?IDE使ってれば、どこで定義されてたっていいじゃん。説得力ねーぞ。

>ある程度固まっていないというか、無分別に散らばってると見難くなると思う。
だ・か・ら、ブロック内でしか使わないのだから、散らばっていないって。

>↓これはオレルールではダメな書き方。理由: 初期化ができない。
> switcht (state) {
>  int tmp;  /* switch内だけで使う一時変数 */
>}

初期化できますよ。
宣言と文はちがうので、ご心配なく!

>>643
>tmp workという名前はダメ
んと、サンプルコードだからtmp,workってつけただけだよ。
ついでに言うと、この一時変数は、ブロックで囲まれた、ごく
狭い範囲で使うことを意図している。そういう場合につけるならば、
悪くないと思いますよ。
参照渡しの関数に渡すためだけに格納したりする場合なんかに
使ったりします。
654デフォルトの名無しさん:2012/07/08(日) 13:33:46.40
>>643 は単なる煽りなので相手にしてはいけません
655デフォルトの名無しさん:2012/07/08(日) 13:38:25.20
リーダブルコードお勧め
656デフォルトの名無しさん:2012/07/08(日) 13:48:47.50
>>653
日本語不自由なのか? IDE使っていれば参照は簡単。(IDEではない)エディタでは面倒。
と言っているんだが。

> だ・か・ら、ブロック内でしか使わないのだから、散らばっていないって。
散らばるよ。バカ。
{
int a;
...
...
...
bouble b;
...
...
...
a = b + 1000;
}

657デフォルトの名無しさん:2012/07/08(日) 13:51:02.54
改行大杉だと。
>>653
> 初期化できますよ。
> 宣言と文はちがうので、ご心配なく!
出来ねーよ。(switchのスペル間違えるようなド素人相手にするもんじゃないな。)

switch (state) {
int tmp = 0xa5a5;  /* switch内だけで使う一時変数 */
case 0:
printf("%x\n", tmp);
break;
case 1:
{
printf("%x\n", tmp);
}
break;
}

warning C4700: uninitialized local variable 'tmp' used
c:>cl /?
Microsoft (R) C/C++ Optimizing Compiler Version 15.00.30729.01 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
658はちみつ餃子 ◆8X2XSCHEME :2012/07/08(日) 14:04:15.68
>>657
できるよ。
ここは C スレなので C++ の話は C++ スレで。
659はちみつ餃子 ◆8X2XSCHEME :2012/07/08(日) 14:06:05.01
あ、ごめん。
初期化が出来ないって話だったのね。
初期化は出来ないわ。
660デフォルトの名無しさん:2012/07/08(日) 14:10:44.96
∧_∧
( ´・ω・) みなさん、お茶が入りましたよ・・・・。
( つ旦O
と_)_) 旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦
661デフォルトの名無しさん:2012/07/08(日) 14:23:28.41
bouble
bouble
bouble
662デフォルトの名無しさん:2012/07/08(日) 14:26:47.62
>>660
ビールはないのか?
663デフォルトの名無しさん:2012/07/08(日) 14:32:02.55
>>661
そこに書かれていない部分で
typedef double bouble;
と定義してあるんだ。
664デフォルトの名無しさん:2012/07/08(日) 15:59:20.33
>>646
しばし一考して、結局わかったか?
おまえさんとは、ひっ絡まれるほどズレてはいないと思うが

>>659
いや 657 にとって warning を見せる必要があった理由には明らかに誤りが含まれているぞ
サンプルも遊び駒だらけだし
665デフォルトの名無しさん:2012/07/08(日) 16:12:12.89
>>656
関数の先頭でなく、ブロックの先頭に書く話が何でその話になるんだ
666デフォルトの名無しさん:2012/07/08(日) 16:42:36.56
>>665
「変数宣言を無分別にまき散らすと見難くなる」だから本質は同じ。
これくらい知恵使えよ。
{
int a;
...
...
...
{
double b;
...
...
...
a = b + 1000;
}
}
667デフォルトの名無しさん:2012/07/08(日) 16:47:21.61
結論
Cは糞
668デフォルトの名無しさん:2012/07/08(日) 16:52:24.22
全然散ってないじゃん
669デフォルトの名無しさん:2012/07/08(日) 16:55:31.50
散ってるとか散ってないとか
見難いとか見難くないなんてのは個人の主観に過ぎない
670デフォルトの名無しさん:2012/07/08(日) 17:06:39.11
ふーん
671デフォルトの名無しさん:2012/07/08(日) 17:17:49.42
>>668
お前、こんなところでのんびりしていていいのか?
今まで↓このクソコード正しいと信じてバグ量産してきたんだろ。w

> switcht (state) {
>  int tmp = 774;  /* switch内だけで使う一時変数 */
>}
672デフォルトの名無しさん:2012/07/08(日) 17:20:40.04
固陋、いやいや、古老はいらっしゃいますか。
const修飾子は、K&R第1版の頃は未だ存在しなかったという伝承を耳にしましたが、確かめる術はあるでしょうか。
673デフォルトの名無しさん:2012/07/08(日) 17:21:26.09
図書館を探せ
674デフォルトの名無しさん:2012/07/08(日) 17:23:55.55
タイムマシン作ってみにいけばいいよ
675デフォルトの名無しさん:2012/07/08(日) 17:41:21.57
むしろタイムマシンにお願いすればいい
676デフォルトの名無しさん:2012/07/08(日) 17:43:42.57
http://docs.oracle.com/cd/E19957-01/806-4836/compat.html#1411
| Sun C(K&R): 識別子 const、volatile、signed を普通の識別子として扱う。

http://docs.oracle.com/cd/E19957-01/806-4836/tguide.html#2025
| キーワード const は C++ の機能の 1 つで、ANSI/ISO C に取り入れられました。
677デフォルトの名無しさん:2012/07/08(日) 18:10:10.15
あっそ
678デフォルトの名無しさん:2012/07/08(日) 18:17:36.47
ノベルゲームみたいにクリックすると文章を進めるためにはどうしたらいいんでしょうか(泣
679デフォルトの名無しさん:2012/07/08(日) 18:21:49.74
クリックと同時にエンターを押してねってマニュアルに書いとくといいよ
680デフォルトの名無しさん:2012/07/08(日) 18:45:00.71
文章を紙に印刷して渡せばいい
681デフォルトの名無しさん:2012/07/08(日) 18:48:59.53
>>671
ばーか。
お前じゃあるまいし。
682デフォルトの名無しさん:2012/07/08(日) 18:50:27.92
>>679 >>680
ありがとうございます
とても参考になりました
683デフォルトの名無しさん:2012/07/08(日) 19:26:19.68
どこに宣言があるかわかんねーと困るようなクソ長いコードは書くなってこったね。
684デフォルトの名無しさん:2012/07/08(日) 19:28:42.79
少なくともローカル変数かグローバル変数かは一目で分かるようにしる
685デフォルトの名無しさん:2012/07/08(日) 19:29:04.10
行番号つけてる奴は何考えてんだ......
コピペしてもコンパイル通らないだろうが

686デフォルトの名無しさん:2012/07/08(日) 20:05:19.43
なんも考えてない神聖のアホなんだろ
いわせんなにょ恥ずかしい////////
687デフォルトの名無しさん:2012/07/08(日) 20:07:49.18
>685
その程度でグチグチ言うやつの意見なんかいらんからROMってろ。
688632:2012/07/08(日) 20:41:41.17
スレが伸びていると思えば……
お前ら本当に日曜の昼間っから暇なのな。
まぁ、私も大概暇人だが。
689デフォルトの名無しさん:2012/07/08(日) 20:48:15.41
【中国BBS】中国人から見た「日本人の嫌いな国ランキング」

「日本人がもっとも嫌いな国ランキング」というスレッドが立てられ、「日本人が嫌いな国ランキング」を紹介している。
スレ主によれば、日本人がもっとも嫌いな国は韓国で95.7%、次いで中国が2.1%、
北朝鮮が0.7%、以下、アメリカ、ロシア、イスラエル、オーストラリア、フィンランドの順となっている。この結果について次のようなコメントが寄せられた。
第1位 韓国 95.7% 
第2位 中国  2.1% 
第3位 北朝鮮 0.7%

・「中国は韓国に惨敗じゃないか」

・「スゲェ…こんなにも多くの日本人が韓国を嫌いだなんて」

・「なんという事だ、韓国はこんなにも日本から嫌われているなんて」

・「てっきり中国が1位かと思った、中華人民共和国が完敗するなんて韓国はスゴすぎる」

・「韓国以外の国を全部合わせても韓国の獲得した端数にも満たない」

・「日本人はロシアよりもアメリカのほうが嫌いなのか」

・「韓国人だって日本人が一番嫌いだ」

・「韓国は日中友好に貢献しているな」

・「なんだか急に韓国のことが可哀想に思えてきた。」

・「韓国のことについて語り出すと日中の意見は驚くほどの一致をみる。韓国人は大変だな…」

サーチナ 社会ニュース 2012/07/08(日)
http://news.searchina.ne.jp/disp.cgi?y=2012&d=0708&f=national_0708_015.shtml
690 ◆QZaw55cn4c :2012/07/08(日) 21:03:01.41
>>688
なに、いつものこと。暇人同士親交を深めているのですよね。
691デフォルトの名無しさん:2012/07/08(日) 21:55:03.94
>>688
まいつものことですよ。
uyと信者が馬鹿やってもりあがってます。
692デフォルトの名無しさん:2012/07/08(日) 22:12:43.87
うほっ
693デフォルトの名無しさん:2012/07/08(日) 23:07:56.21
【韓国】亀田製菓が出した「柿の種・辛ラーメン味」が売れなさすぎてヤバイ
http://engawa.2ch.net/test/read.cgi/poverty/1341745913/

http://i.imgur.com/fgMGT.jpg
694デフォルトの名無しさん:2012/07/08(日) 23:09:14.52
へぇ
売れてるんだ
695デフォルトの名無しさん:2012/07/08(日) 23:26:00.55
長大なプログラムの空白の部分を "_" としてる奴の人間性について
696デフォルトの名無しさん:2012/07/09(月) 02:20:04.87
ネットの使えなさは異常
全部書けよ
697672:2012/07/09(月) 07:03:36.70
>>676
どうもありがとうございました。
698デフォルトの名無しさん:2012/07/09(月) 08:51:33.89
【速報】 ソウルの日本大使館の正面玄関にトラックが特攻
http://engawa.2ch.net/test/read.cgi/poverty/1341789760/


http://www.47news.jp/news/flashnews/

ソウルの日本大使館にトラック 

ソウルの日本大使館の正面玄関にトラックが突っ込み、玄関の一部損壊。韓国警察が運転手を拘束。
2012/07/09 07:57 【共同通信】


トラックで突っ込んだ男、竹島問題で抗議か 

在韓日本大使館にトラックで突っ込んだ男は、竹島問題で日本側に抗議する目的。聯合ニュース報道。
2012/07/09 08:28 【共同通信】

699デフォルトの名無しさん:2012/07/09(月) 09:06:23.66
うけるw
700デフォルトの名無しさん:2012/07/09(月) 12:37:14.71
日の丸を焼いたりやることが低脳
701デフォルトの名無しさん:2012/07/09(月) 23:44:11.06
picみたくgotoを使うときって
ラベルは構文としてどうすればいいですか?
702デフォルトの名無しさん:2012/07/09(月) 23:54:16.91
その程度をここで聞く前にggrks
そういうヤツがアホなgoto書くから
ソースがゴミカスになっちまうんだよ
703デフォルトの名無しさん:2012/07/09(月) 23:57:37.79
>>701
書いてある本よんだことないの?
704デフォルトの名無しさん:2012/07/10(火) 00:14:27.10
情報科1年のC言語初心者です。
goto文は使ってはいけないと言われたんですが何故ですか
705デフォルトの名無しさん:2012/07/10(火) 00:17:12.58
>>704
慣れないうちは使わないで考える練習をしましょう
疑問に思うのは悪いことではないけど
706 ◆QZaw55cn4c :2012/07/10(火) 00:22:29.35
>>704
つダイクストラ、10年前に亡くなられていたんだ‥‥‥
707デフォルトの名無しさん:2012/07/10(火) 00:22:51.83
エラーから抜け出しにはいいだろう
708デフォルトの名無しさん:2012/07/10(火) 00:23:04.49
gotoの使い処はいくつかのパターンが確立していてそれ以外では使うべきではない
gotoをむやみに使うと処理の流れを追いにくいコード、いわゆるスパゲティコードになりがち
709デフォルトの名無しさん:2012/07/10(火) 01:55:03.06
ループが最後まで回ったがどうかで分岐するときはgotoのほうがいい気がするけど、
チキンだからフラグやループ変数使って分岐しちゃう
710デフォルトの名無しさん:2012/07/10(火) 03:25:42.05
ファイル入出力に関する質問なのですが、fclose() の戻り値はチェックすべきですか?
また、引数として有効なファイルのポインタをセットしたにも関わらず、fclose() がエラーを
返す場合はありますか?
711デフォルトの名無しさん:2012/07/10(火) 03:46:31.79

>>153
そうそう
「FDはフレキシブルディスク。フロッピーディスクは確か商品名だったと思うたぶん」
と大昔先輩に教えられたw(約20年前)

Cを読む自信なくなってきたなぁ・・・・というか開発なんか体がもたんわw
(演算子の評価順番とか覚えてないしwマクロなんて怖くて書けないなぁ)

ていうかみんな自分で調べないんだなw
仕事にならんぞ(まぁ趣味だし、さらに「俺に聞け入門編」だったねw)
712デフォルトの名無しさん:2012/07/10(火) 04:07:28.91
>>710
おれはチェックしてないよ

ディスクに読書きするとき発生するエラーの例

不正コマンド
アドレスマークが見つからない
書き込み禁止のディスクへの書き込み
セクタが見つからない
リセットに失敗(ハードディスクの場合)
前回の操作以後にディスクの入れ換えが行われた
ドライブパラメータアクティビティが失敗
DMAオーバーラン
64KBバイト境界を超えてDMAを行おうとした
不良セクタが検出された
不良トラックが検出された
サポートされていないトラックが検出された
データ読み出し時のCRC/ECCエラー
CRC/ECC訂正データエラー
コントローラの障害
シーク操作の障害
タイムアウト
ドライブの準備ができていない(ハードディスクのみ)
未定義エラーが発生(ハードディスクのみ)
書き込み障害が発生
ステータスエラー
センス操作の障害

_bios_disk (DOS/V)
bios.h
713デフォルトの名無しさん:2012/07/10(火) 04:52:35.44
例外でイナフ
714デフォルトの名無しさん:2012/07/10(火) 04:56:31.75
enough
715デフォルトの名無しさん:2012/07/10(火) 04:59:19.93
大切なデータの書き込みが完了しなかったらこまる場合。
おなじファイルを再度、fopen()
する場合は、エラーを正しく処理するべきだろう(ずうっとエラーのままではこまるね)
716デフォルトの名無しさん:2012/07/10(火) 05:11:59.76
>>710
読み込みオープン(fopen("file", "r"))のあとのfclose()なら殆どチェックしない。
書き込みオープン("w", "a"など)のあとのfclose()はバッファフラッシュのために実際に書き出すから
(直前にフラッシュしていない限り)チェックするようにしている。
717デフォルトの名無しさん:2012/07/10(火) 05:40:08.75
>>712 >>715 >>716
ありがとうございます、よく分かりました

>>713-714
すみません、ググっても適当なものが見つからなかったのですが
例外でenough とは何でしょう?
718デフォルトの名無しさん:2012/07/10(火) 06:23:17.24
ttp://www.geocities.jp/ky_webid/cpp/language/025.html
ま、C++の話なんでスレチなんだけどね
エラー判定をたくさんしなくちゃならない時に便利
719デフォルトの名無しさん:2012/07/10(火) 07:17:45.20
日本の核武装―原子力の基本法改正と日本の核兵器製造能力

日本人が掌握している核兵器に転用可能な核原料が2000発あると推定する。
IAEAにある各種機械装置の明細を見れば、日本が持つこの分野の技術レベルを知ることができる。
他国では製造が困難な核爆弾や核ミサイルは、日本の手にかかればすぐにでも製造が可能なのである。
その事実を疑う人はいないだろう。
そして数日前、日本国の議会は原子力の基本法を改正、「我が国に役立つ安全保障」の一文を加えたのである。

ソース 鳳凰網 (中国語) 2012年07月03日 意訳
http://news.ifeng.com/opinion/zhuanlan/yutianren/detail_2012_07/03/15740347_0.shtml

<世界の戦略核兵器数>
ロシア 2,668
アメリカ合衆国 2,126
フランス 300
中国 180
イギリス 160
インド 60
パキスタン 60
北朝鮮 10未満と推定
イスラエル 80? ←核疑惑

日本 2000? ←New!
720デフォルトの名無しさん:2012/07/10(火) 09:21:10.35
ファイル書き込みの定石的な書き方知りたい
721デフォルトの名無しさん:2012/07/10(火) 10:51:17.66
まずはファイルオープンとは何かをじっくりと考えれ
722デフォルトの名無しさん:2012/07/10(火) 11:06:55.63
本よむかggrよ
723デフォルトの名無しさん:2012/07/10(火) 13:31:28.95
ふっひっ
724デフォルトの名無しさん:2012/07/10(火) 14:48:59.41
代行です。
rand関数のばらつきを見たく思い、次のようなプログラムを作りましたが、結果に予期しない数値が表示されます。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int i,ran,r[30];
srand((unsigned)time(NULL));
printf("10000回、0〜30の乱数を発生させて、そのばらつきを調べる");
i = 0;
while(i<10000){
ran = rand() % 30;
r[ran]++;
i++;
}
i = 0;
while(i<30){
printf("%d = %d\n",i,r[i]);
i++;
}
return 0;
}
配列に+1したいとき、r[ran]++;とすることはできないのでしょうか。
C言語の学習を始めて3か月の初心者です。
725デフォルトの名無しさん:2012/07/10(火) 14:51:16.11
できない
726デフォルトの名無しさん:2012/07/10(火) 14:51:59.20
出来るよ
でも変数(配列)は初期化しないと駄目だよ
727デフォルトの名無しさん:2012/07/10(火) 14:56:49.24
おしい
>配列に+1したいとき、r[ran]++;とすることはできないのでしょうか。
この通り動作してる

が、r[] の初期値を 0 に設定してないから
(int r[30]; と宣言した場合、中身の値は不定)、予期しない数値になるだけ
728デフォルトの名無しさん:2012/07/10(火) 15:05:44.15
関係ないけど、そのループでforを使わずにwhileにするのはどんなこだわりだよ
729デフォルトの名無しさん:2012/07/10(火) 15:11:10.64
#include <stdio.h>

int main(void)
{
int i, j, k;
for (i =0; i<3; i++)
for(j=0; j< 26; j++)
for(k = 0; k <2; k++)
printf("%c", 'A' +j);
return 0;
}
for文の上2つは理解できるんですが、最後の
for(k = 0; k <2; k++) これってどういう意味?
730デフォルトの名無しさん:2012/07/10(火) 15:13:07.42
AABBCC って事だろ
731デフォルトの名無しさん:2012/07/10(火) 15:20:47.10
同一の2文字がアルファベット順となる順列を3順しなさい?

AABBCC…ZZAABBCC…ZZAABBCC…ZZ こう出力せよ
問題文にするのは難しいな。
732デフォルトの名無しさん:2012/07/10(火) 15:21:07.41
大文字小文字とかか
733デフォルトの名無しさん:2012/07/10(火) 15:33:36.00
ttp://ideone.com/bgg21
こうだな
AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz
734デフォルトの名無しさん:2012/07/10(火) 16:45:39.95
リッチエディットを使おうと思ってrichedit.hをインクルードしようとしたのですが下記のエラーが出てしまいます
どうすればインクルードできるようになるでしょうか?
プログラムは

#include <Richedit.h>
#include <Windows.h>

int main(void)
{
MessageBox(NULL, NULL, NULL, 0);
return 0;
}
だけです

richedit.h(309): error C2146: 構文エラー : ';' が、識別子 'cb' の前に必要です。
richedit.h(309): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
richedit.h(309): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
richedit.h(310): error C2146: 構文エラー : ';' が、識別子 'flags' の前に必要です。
richedit.h(310): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
richedit.h(310): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
richedit.h(476): error C2065: 'EDITWORDBREAKPROCEX' : 定義されていない識別子です。
richedit.h(476): error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
richedit.h(476): error C2143: 構文エラー : ';' が '(' の前にありません。
richedit.h(476): error C2062: 型 'char' は不要です。
richedit.h(476): error C2059: 構文エラー : ')'
richedit.h(482): error C2146: 構文エラー : ';' が、識別子 'cbSize' の前に必要です。



以下続く
735デフォルトの名無しさん:2012/07/10(火) 16:49:41.52
#include <Windows.h>
#include <Richedit.h>
736デフォルトの名無しさん:2012/07/10(火) 17:18:06.47
出来ました。ありがとうございました
737724:2012/07/10(火) 18:13:45.01
代行書き込みありがとうございました。
>>727
>>726
アドバイスありがとうございました。教えて頂いた通り、配列を初期化することで正常な数値になりました。
>>728
for文よりwhile文の方が見やすい?気がするので・・・。
この場合、for文の方がいいですか?
738デフォルトの名無しさん:2012/07/10(火) 18:21:16.26
そりゃfor文って主にこーゆーとき使うためにあるもんだしなぁ
739デフォルトの名無しさん:2012/07/10(火) 18:44:22.79
>>736
いえいえ
740デフォルトの名無しさん:2012/07/10(火) 18:53:01.96
while文の方が…は慣れてないだけかと
カウンタに関する処理が1つのfor文で書けるメリットを感じ取ろう
741デフォルトの名無しさん:2012/07/10(火) 18:58:48.13
中国 「アジアは日中という2超大国が争う囲碁である。韓国は日米の捨て石にすぎないことを自覚しろ」
http://engawa.2ch.net/test/read.cgi/poverty/1341880360/



「韓国は碁盤の石に転落」 中国国営紙が韓国に警告

中国共産党機関紙である人民日報の姉妹紙、環球時報は3日付で、「韓国は中国に
プレッシャーをかける米日を助けるな」と題した社説で、
「韓国は今後、大国同士で争う囲碁で、碁盤の上の最前線の石に転落するだろう」と警告した。
また「韓国が引き続き現在のように行動するなら、(韓国は)究極的には中国と対立する日が来るだろう」と書いた。
http://japan.donga.com/srv/service.php3?bicode=050000&biid=2012070468238
742デフォルトの名無しさん:2012/07/10(火) 18:59:34.07
10回数字を入力してそれを全て足してsum=で表示する作業がしたいです。
なかなかできないので教えていただきたいです。

main()
{
   int i,a;
sum=0
     for(i=1; i<=10; i++){
   scanf("%d",&a);
sum=sum+a;
   }

printf(sum="%d\n",sum)

}
743デフォルトの名無しさん:2012/07/10(火) 19:15:23.19
744デフォルトの名無しさん:2012/07/10(火) 20:00:16.79
forのカウンターを1からとかsum=sum+aとかCっぽくないな
745デフォルトの名無しさん:2012/07/10(火) 20:20:15.83
BASIC出身者ではよくあること
746デフォルトの名無しさん:2012/07/10(火) 20:23:39.70
awk出身者ではよくあること
747デフォルトの名無しさん:2012/07/10(火) 21:24:03.72
配列の添え字ならともかく、ループの仕方にとくにCぽいとか無いな
748デフォルトの名無しさん:2012/07/10(火) 22:41:25.81
配列の影響があるからか、N回ループのイディオムは

for (i = 0; i < N; i++) {

}

がよく使われると思う
じゃあなんで配列が0オリジンなのかというと
配列添え字は実装上、メモリアドレスのオフセットに相当するからで、
まあそこまで気にすれば一貫性があるのかもしれない
749 ◆QZaw55cn4c :2012/07/10(火) 22:52:35.01
それに、n <= Const の判定はキャリーフラグ一発で jmp できるしね。
750 ◆QZaw55cn4c :2012/07/10(火) 22:53:46.58
しつれい、
n < Const の判定はキャリーフラグ一発で jmp
だね。もっともキャリーもゼロも両方みるオペコードも普通はあるけどね。
751デフォルトの名無しさん:2012/07/10(火) 23:12:20.26
DJNZが思い浮かんだがあれは
for (b = N; b; b--) {}
752デフォルトの名無しさん:2012/07/11(水) 00:08:49.72
図形の描画を複数ページで行うプログラムを作っています。
構造体宣言(sample.h内)
struct page{
ページの大きさ;
struct page_item *item;
}

struct page_item{
struct point;
int type; ←図形の種類
色や線の種類等;
}

typedef struct point{
int Xmin;
int Ymin;
int Xmax;
int Ymax;
}

構造体変数宣言+初期化(page1.c内) ←page2.c、page3.c、…とページ毎にファイル作成
struct page page1 = {{0,0,500,500},page1_item};
struct page_item page1_item[] = {
{{0,0,10,10},直線,〜},
{{50,50,200,200},四角形,〜}, ←「直線」「四角形」は#defineでint型の値

{0}
}


このように表現してみました。
753752:2012/07/11(水) 00:09:44.76
描画関数の処理(byoga.c内)
0.ページ数を引数として受け取る。(←例: 描画関数(&page1); )
1.図形の種類を調べる
2.1が直線だったら、座標を元に線を引く。1が四角形だったら座標を元に四角形を作る。
3.全ての図形(page_item1配列の最後まで)を描画し終わるまで1〜2を続ける。

ここで質問です。
(byoga.c内で)描画関数の処理を記述する時、
if(○==直線){
MoveTo(×,×);
LineTo(×,×);
}
この○と×の記述の仕方はどのように書けば良いでしょうか?
構造体の中に構造体があって、さらに構造体配列になっていたりして、しかもソースファイルも別なので混乱しています。
754デフォルトの名無しさん:2012/07/11(水) 00:13:42.54
もうダメ(×,×)
755752:2012/07/11(水) 00:15:22.10
エディタ使ってプログラム書いたのに、全部左によっちゃっいました・・・
見づらくてすみません。
756デフォルトの名無しさん:2012/07/11(水) 00:17:11.61
それでまずは実装しろよ
757デフォルトの名無しさん:2012/07/11(水) 00:30:13.21
struct page_item の int type; が 0 の場合に具体的な図形を指さず終端を兼ねてるなら
(構造体全体が 0 かを比較するのめんどっちいので type で終端を判断)

foo(struct page * drowobj)
{
 struct page_item *p = drowobj->item;
 while (p->type) {
  switch (p->type) {
  case 直線: ....
  case 四角形: ....
  }
  p++;
 }
}
758752:2012/07/11(水) 00:57:30.43
>>757
アドバイスありがとうございます。
○の記述の仕方、typeで終端を表現する方法は理解できました。

あとは×の記述の仕方なのですが、
case 直線:
MoveTo(〜Xmin,〜Ymin);
LineTo(〜Xmax,〜Ymax);
break;
case 四角形:



struct page_item内のtypeはp->typeで表現することは分かりましたが、
struct page_item内のstruct point内のXmin(Ymin、Xmax、Ymax)というのは、どのような記述になるのでしょうか?
759デフォルトの名無しさん:2012/07/11(水) 04:15:29.02
先日、構造体というものを学習しましたが、未だに構造体を使うメリットが理解できません
760デフォルトの名無しさん:2012/07/11(水) 04:31:22.74
メリットを感じないうちは、使わなくておk
761デフォルトの名無しさん:2012/07/11(水) 04:44:57.02
>>759
関数は、構造体をかえせるよ!
構造体のなかに、文字列の配列とか、整数とか情報をいれとく。
やってみたいとおもわない?
762デフォルトの名無しさん:2012/07/11(水) 04:49:45.57
構造体の配列は、便利かもしれない
763デフォルトの名無しさん:2012/07/11(水) 05:16:39.73
構造体の要素として、次の要素にリンクするポインタを追加すると、Cでリストがつかえる
764763:2012/07/11(水) 05:19:44.45
△ 構造体の要素として
○ 構造体の項目として

△ 次の要素
○ リストにおける次の要素
765デフォルトの名無しさん:2012/07/11(水) 10:51:07.79
#include <stdio.h>

int series(void);

int main(void){
int i;

for (i = 0; i < 10; i++)
printf("%d ", series());
return 0;
}
/* これは正しくない */
int series(void)
{
int total;

total = (total + 1423) % 1422;
return total;
}

どうして正しくないんですか?
766デフォルトの名無しさん:2012/07/11(水) 10:54:45.36
コンパイラの警告レベルは最高にしなさい
767デフォルトの名無しさん:2012/07/11(水) 10:56:48.79
>>765
自動変数ってとこかな?

どうなったら正しいのか分からないと正しくないかどうか判定できないが
768デフォルトの名無しさん:2012/07/11(水) 11:10:09.05
totalが未初期化
769デフォルトの名無しさん:2012/07/11(水) 11:23:16.70
仕事で未初期化すると無職化するよ
770デフォルトの名無しさん:2012/07/11(水) 11:26:10.31
さすが経験者の言葉は重い
771デフォルトの名無しさん:2012/07/11(水) 12:09:24.17
デバッガでtotalを追ってみたら
772デフォルトの名無しさん:2012/07/11(水) 12:44:37.09
>>766
最高ですかー?
773デフォルトの名無しさん:2012/07/11(水) 13:19:28.18
774デフォルトの名無しさん:2012/07/11(水) 13:20:44.03
775デフォルトの名無しさん:2012/07/11(水) 13:31:56.28
スゲーw
776デフォルトの名無しさん:2012/07/11(水) 19:55:05.09
ツール使わないwindowsにデフォである3d描画ツールってないかな?
コマンドプロンプトから呼び出したりできない?
777デフォルトの名無しさん:2012/07/11(水) 20:00:18.48
HTML5
778デフォルトの名無しさん:2012/07/11(水) 20:05:58.14
131 名前:uy ◆pdu1UZmweE [sage] 投稿日:2012/07/05(木) 19:43:52.94
お前らは何かに熱中してるか?
おそらく何も熱中してないだろう
俺は女子小学生のパンチラにハマっている
お前らも熱中するものを持つと人生が豊かになるぞ
779デフォルトの名無しさん:2012/07/11(水) 22:23:38.97
システムコール系の関数がC言語の棚においてあるC言語の専門書に載ってないのは何故?
ネットワーク関連とかグラフィック関連とか。

普通にC言語の関数なのに載ってないリファレンスにも。
780デフォルトの名無しさん:2012/07/11(水) 22:25:11.41
>>779
C言語にはネットワークもグラフィックもないだろ
781デフォルトの名無しさん:2012/07/11(水) 22:27:10.77
C言語でなんて、ネットワークやグラフィックはできないだろ?
782デフォルトの名無しさん:2012/07/11(水) 22:30:33.95
システムコールの関数はC言語の関数じゃないということでしょうか?
783デフォルトの名無しさん:2012/07/11(水) 22:32:13.58
system
exec
fork
popen
くらいなら載ってるんじゃね
784デフォルトの名無しさん:2012/07/11(水) 22:32:31.88
システムコールはOSの話だろ
それをCなりなんなりでラッピングしてるだけじゃんか
そんなんがCの棚にあったら腰抜かして屁こくぞ
785デフォルトの名無しさん:2012/07/11(水) 22:33:18.86
>>779
何を言ってるのかわからんがこれ見ろ

詳解UNIXプログラミング
786デフォルトの名無しさん:2012/07/11(水) 22:38:02.83
>>783
そうそう
systemとかいう関数です。
これはC言語の関数じゃないんですね。
787デフォルトの名無しさん:2012/07/11(水) 22:42:56.59
C言語の規格で定めているのは標準関数まで。

システムコール系とやらの関数は、OS等の機能に依存しているからC言語の範疇ではない。

それ、専門の本を探せば良い。
788デフォルトの名無しさん:2012/07/11(水) 22:44:41.51
>>787
#include<Windows.h>
とか
#idef
とかもC言語の関数じゃないんですか?
明らかにwindowsって書いてるしな.....

789デフォルトの名無しさん:2012/07/11(水) 22:47:01.83
>>786
systemは標準関数。

Webで見れる資料だと、JM Projectあたりで準拠の項をみればいい。
C89,C99とかなら標準関数。

system
ttp://linuxjm.sourceforge.jp/html/LDP_man-pages/man3/system.3.html#lbAF

fork
ttp://linuxjm.sourceforge.jp/html/LDP_man-pages/man2/fork.2.html#lbAG
790デフォルトの名無しさん:2012/07/11(水) 22:47:24.41
Cの規格上では定まって無い
開発環境(VC++ とか) や OS(Platform SDK) が提供してる方言
791デフォルトの名無しさん:2012/07/11(水) 22:54:18.34
>>786
C言語で書かれているが
792デフォルトの名無しさん:2012/07/11(水) 22:54:48.03
>>790
とうしろう乙
793デフォルトの名無しさん:2012/07/11(水) 23:19:09.55
>>788
「C言語の規格で決められている関数」なら、C言語の本とかに載っている。

なにが「C言語の規格で決められている関数」はここら辺を参照してみて。
ttp://ja.wikipedia.org/wiki/%E6%A8%99%E6%BA%96C%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA
おぢさんは、つい、「標準関数」って言っちゃうけど、「標準Cライブラリ」だったんだね。。。

「C言語の関数」っていう表現が、曖昧さを生んでいると思う。
読み取ろうと思えば、
「C言語で書かれた関数」、または「C言語で利用できる関数」
全てが「C言語の関数」という表現では読み取れちゃう。

ちなみに「#include」や「#ifdef」は、「関数」ではなくて「プリプロセッサ」
794はちみつ餃子 ◆8X2XSCHEME :2012/07/11(水) 23:27:13.23
プリプロセッサへの指示であるところの「ディレクティブ」だよ。
795はちみつ餃子 ◆8X2XSCHEME :2012/07/11(水) 23:35:16.50
あらためて確認してみると JIS の用語では「前処理指令」ってなってる。
このあたりはカタカナ語でいいんじゃね? とは思うし、実際に前処理指令なんて言う奴はいねーよなぁ。
796793:2012/07/11(水) 23:39:29.29
>>794
おおぉ、指摘ありがとう。
そんな、キーワードもあったっけ(汗
797デフォルトの名無しさん:2012/07/11(水) 23:45:20.04
めでたしめでたし
798デフォルトの名無しさん:2012/07/11(水) 23:46:32.50
システムコール、API、ANSI Cの違いが分からんのだろうなー
799デフォルトの名無しさん:2012/07/11(水) 23:48:03.38
わからんからこのスレに来てるんだろww
いやしくもスレタイが「入門編」だぞwwwwww
800デフォルトの名無しさん:2012/07/11(水) 23:51:34.03
そういう質問じゃないし、わかったんだろう、いいじゃねーか
801デフォルトの名無しさん:2012/07/12(木) 00:34:54.00
プリコンパイル済みヘッダーファイル
802デフォルトの名無しさん:2012/07/12(木) 01:56:06.53
特定のWebページのなかで特定のワードの有無をチェックして、
存在する場合にはそれが含まれている文を取得したいんですが、
やり方がよく分かりません。
MacなのでCかObjective-Cで、どなたか書き方教えて下さい。
803デフォルトの名無しさん:2012/07/12(木) 01:59:23.38
wgetしてgrepでいいじゃん
それか餅屋のperlなり使えよアホ
804デフォルトの名無しさん:2012/07/12(木) 01:59:29.40
幾らで?
805デフォルトの名無しさん:2012/07/12(木) 07:30:54.92
システムコール、APIとどう違うんだw
806デフォルトの名無しさん:2012/07/12(木) 07:34:37.22
そのうち >>798-799 が答えてくれるだろう
807デフォルトの名無しさん:2012/07/12(木) 07:37:32.83
システムコールは呼び出し

APIはインターフェイス
808デフォルトの名無しさん:2012/07/12(木) 07:52:31.77
システムコールはカーネルが提供するプリミティブなAPI
809デフォルトの名無しさん:2012/07/12(木) 07:59:04.33
つまりフライドチキンって事?
810デフォルトの名無しさん:2012/07/12(木) 08:02:51.33
ケンタッキーはカーネルが提供するプリミティブなフライドチキン
811デフォルトの名無しさん:2012/07/12(木) 08:24:05.74
>>808が一般的。

例えばWin32で、CreateFileとlstrcpyは、どちらもAPIとして用意されているけど
lstrcpyはシステムコールとはいわない。
812デフォルトの名無しさん:2012/07/12(木) 08:27:23.14
CreateFile や fopen はシステムコールですか?
813デフォルトの名無しさん:2012/07/12(木) 08:28:05.37
ていうか、カーネルモードへの移行を必ず伴うもの、的な呼び方のほうが正しいのかな。
HeapAllocなんかは、時々カーネルに行くけど大抵はユーザーモードで済むので
システムコールとは言わないと思う。

あと、直接カーネルを呼び出すint80/2E(Linux/Win32)、それいsysenterやコールゲート呼び出し等の
方法のことをシステムコールと呼ぶ流儀もあるかも。
814デフォルトの名無しさん:2012/07/12(木) 08:36:28.28
>>812
CreateFileはシステムコール。(A/Wで)
fopenは、Cの標準関数。
毎回カーネルに行くけど、パラメータの変換等の処理をしていて
ダイレクトに行くわけじゃないし、普通はシステムコールとは言わないはず。

ついでに、openはPOSIXの標準関数で、大抵のUnix系ではシステムコール。
Windows上ではエミュレーションで用意されている、いわゆる互換関数。
815デフォルトの名無しさん:2012/07/12(木) 08:49:53.23
mallocやバークレーのソケットライブラリ(socket,connect,listen等)は
システムコールでない?
816798:2012/07/12(木) 10:20:02.33
>>806
答えは785
817デフォルトの名無しさん:2012/07/12(木) 10:41:22.66
うん
818デフォルトの名無しさん:2012/07/12(木) 10:45:14.07
Unixコマンドを組み合わせてプログラムが作れますよね?
なのにわざわざC言語でプログラムを作る必要ってあるんですか?

Hello Worldを出力するプログラムは

echo Hello Worldでいいですよね?

コマンドプログラムとCプログラムの違いって何ですか?
819デフォルトの名無しさん:2012/07/12(木) 10:46:03.92
おおものだ
820デフォルトの名無しさん:2012/07/12(木) 10:47:33.30
そのechoはどうやって実現されているか。
821デフォルトの名無しさん:2012/07/12(木) 10:52:19.72
そんなプログラムを必要としているのか?
822デフォルトの名無しさん:2012/07/12(木) 10:54:22.27
>>820
あーなるほど。
echoってCで作られたプログラムなんですね。
コマンド組み合わせだけじゃ作れないものってありますか?
Cじゃないとだめみたいな。
823デフォルトの名無しさん:2012/07/12(木) 10:55:34.85
速度さえ気にしなければCである必要はない。
824デフォルトの名無しさん:2012/07/12(木) 10:57:31.37
既に存在するものなら作る必要なんて無い
「無い」から作るんだよ
825デフォルトの名無しさん:2012/07/12(木) 10:59:22.43
>>824
例えばファイル圧縮とか展開のコマンドもあるんですよね?
それなのに何故わざわざ言語でプログラムを作るんでしょうか?
826デフォルトの名無しさん:2012/07/12(木) 11:00:40.94
作りたいからだよ。
827デフォルトの名無しさん:2012/07/12(木) 11:03:22.16
ファイル圧縮展開ができさえすれば何でもいいなら有ることになるし
圧縮率や速度や使い勝手やライセンスが不満だったりその他の理由があるなら無い事になるし
828デフォルトの名無しさん:2012/07/12(木) 11:13:54.03
>>825
それで満足できるなら作る必要は無いよね
全く同じものを作るのは馬鹿

煽りたくてレスしてるだけなら何も言わないけど、本心で言ってるなら
開発者向きじゃないから色々と諦めた方がいいよ
829デフォルトの名無しさん:2012/07/12(木) 11:29:56.07
何かをしよう・こういうのが欲しいと思いついて
既存のモンの組み合わせで出来るならよし
スクリプト言語でチャッチャと書いてもよし
本当に速度なりが欲しいなら、ようやくCとかのお出ましになる

それでも、プログラミングといえども既存のモン(関数なりライブラリ)の
組み合わせに過ぎないから、
結局、どこまで行っても既存の部品を組み合わせるだけの作業になる

……はずだけど、その組み方が新しいから、
出来上がったモンも新しく見える
830デフォルトの名無しさん:2012/07/12(木) 11:36:38.16
お前も向いてなさそうだな。
831デフォルトの名無しさん:2012/07/12(木) 11:44:05.98
なら半田ごてで電子回路作るところからやれや
832デフォルトの名無しさん:2012/07/12(木) 12:33:34.05
アメリカにも、ロシアにも日本にも打ち上げロケットはあるのに
なぜ韓国は自国で作ろうとするのでしょうか?
833デフォルトの名無しさん:2012/07/12(木) 12:41:29.83
商売って分かる?
834デフォルトの名無しさん:2012/07/12(木) 13:41:50.81
でた〜仄めかすだけで全く説明する気が無い奴!
835デフォルトの名無しさん:2012/07/12(木) 14:13:15.11
すれちて分かる?
836デフォルトの名無しさん:2012/07/12(木) 19:19:40.85
いてて
837デフォルトの名無しさん:2012/07/12(木) 19:31:48.62
とかちつくちて
838デフォルトの名無しさん:2012/07/12(木) 20:50:48.22
ふっふっ
839デフォルトの名無しさん:2012/07/12(木) 22:39:33.96
韓国国内の暴力発生件数、日本の12倍以上「はるかに高い」

韓国ソウルの警察庁で12日、「暴力から安全な社会を作るための学会−警察懇談会」が開催され、韓国国内で
発生している暴力発生件数が日本の12倍以上も高いことが明らかになった。複数の韓国メディアが報じた。
韓国治安行政学会のパク・ドンギュン会長が発表した内容によると、2010年基準の韓国国内の
暴力発生件数は10万人あたり609.2件で、日本(50.4件)や米国(252.3件)よりもはるかに高かった。
大韓犯罪学会のジャン・ジュンオ会長は、「1990年から2002年までに発生した殺人事件から401件を無作為で調査したところ、
40.9%が暴力犯罪の前科を持っていた」と明かし、日常的な暴力が暴力犯罪につながる可能性があると主張した。

http://news.searchina.ne.jp/disp.cgi?y=2012&d=0712&f=national_0712_043.shtml
840デフォルトの名無しさん:2012/07/13(金) 00:39:56.50
ネトウヨ王に、俺はなる!まで読んだ。
841デフォルトの名無しさん:2012/07/13(金) 00:51:03.12
cのコメント文って//使っていいのかなVC使ってるから余り意識してなかったけど。c99から導入された機能らしいじゃん
842デフォルトの名無しさん:2012/07/13(金) 00:53:04.99
正式にはね
でも使える環境なら使っていいよ
843◇QZaw55cn4c :2012/07/13(金) 08:33:53.91
JavaとC# はポインタなんでないんですか?
844デフォルトの名無しさん:2012/07/13(金) 08:41:24.02
それはあなたがクズだからです
845◇QZaw55cn4c :2012/07/13(金) 08:59:46.64
JavaとC# がクズとは?
846デフォルトの名無しさん:2012/07/13(金) 10:04:59.55
>>841
Cなら99からだがC++では昔から標準だったかと
なのでVCみたいなC++ベースの環境ならまず使えるし
純C環境でも99準拠なら使える
純Cで旧規格準拠だとしても独自に持ってたりするから
無い処理系ってあんまり見かけないやね
847デフォルトの名無しさん:2012/07/13(金) 10:20:38.72
Javaではポインタのことを参照と呼ぶ
848デフォルトの名無しさん:2012/07/13(金) 10:37:06.53
C#ならunsafe、fixed、Marshalがある
P/Invokeは事実上これを使わないと無理
ってマジレスさせてどうする
849デフォルトの名無しさん:2012/07/13(金) 10:55:12.37
ポインタと参照は別の概念
実装がポインタでも関係ない
850デフォルトの名無しさん:2012/07/13(金) 12:09:04.41
うきき
851デフォルトの名無しさん:2012/07/13(金) 12:10:18.50
↑このてがはっやてるな、発病したか
852デフォルトの名無しさん:2012/07/13(金) 12:10:24.53
ポインタの日本語訳が参照
853デフォルトの名無しさん:2012/07/13(金) 12:10:52.48
↑嘘
854デフォルトの名無しさん:2012/07/13(金) 12:33:31.64
ポインタは猟犬
855デフォルトの名無しさん:2012/07/13(金) 12:38:26.29
指標
856デフォルトの名無しさん:2012/07/13(金) 12:52:43.73
参照ってよく分からん。別名って解説もあるけど。
857デフォルトの名無しさん:2012/07/13(金) 13:00:15.01
C++の参照と、他の言語、例えばJava等の参照は別のもの。

C++の参照は、古くからある「参照渡し(call by reference)」等にも使われている
意味的には「alias」に近いものだった。
ここに、他の言語が、C++においてはオブジェクトのポインタとして扱われているものに、
同じreference variableの名前をつけた(ただしポインタ演算が不可等微妙に差はある)。
858デフォルトの名無しさん:2012/07/13(金) 13:15:41.76
ポインタちゃうんちゃう?
859デフォルトの名無しさん:2012/07/13(金) 16:05:56.54
>>858
うん
860デフォルトの名無しさん:2012/07/13(金) 16:43:49.79
>>858
ビーグル
861デフォルトの名無しさん:2012/07/13(金) 17:22:20.85
組み込みです
他の板で質問したけど教えて欲しい
int a=-1;
char hour =0;
hour += (char)a;
でhourが-1にならないので
if(a<0){
//処理
}
else{
//処理
}
不細工すぎて泣いた
862デフォルトの名無しさん:2012/07/13(金) 17:24:41.63
>>861
日本語でおk
863デフォルトの名無しさん:2012/07/13(金) 17:24:50.34
サイズ小さい整数に代入すると未定義だからだよ
864デフォルトの名無しさん:2012/07/13(金) 17:26:20.98
エスパー呼んでるぞ
865デフォルトの名無しさん:2012/07/13(金) 17:26:35.52
#if '\xFF' < 0
866デフォルトの名無しさん:2012/07/13(金) 17:30:01.83
>>861
ようブサメン
867961:2012/07/13(金) 17:41:00.29
hour=10から-1引いていくと
hour +=(char)a;のhourは
10・・0、255・・250と変化します。
それでaが-1ならhour--;とifで処理しないといけないのかなと。





868961:2012/07/13(金) 17:41:56.57
-1引いていくと→-1していくと
869デフォルトの名無しさん:2012/07/13(金) 17:45:42.64
255になるなら char が unsigned char 扱いになってるんじゃないの?
signed char で宣言してみれば?
870デフォルトの名無しさん:2012/07/13(金) 17:48:04.04
>>867
だから>>865じゃねーか。

>>869がものすごく親切に、初歩から教えてくれてるけど。
871961:2012/07/13(金) 17:56:49.36
>865
これ知らないので調べてみます。
volatile char hour→
volatile singed char hourにしたらはぁ?
美味くいきまいた。
872デフォルトの名無しさん:2012/07/13(金) 18:02:41.47
volatile信用すんなよ
OSのアトミック操作のシステムコール使え
873デフォルトの名無しさん:2012/07/13(金) 18:07:40.22
なんだよ、0から1引いたら23じゃないのかって落ちかと思ってmktime()の使い方を書こうとしちまったよ。
874961:2012/07/13(金) 18:29:19.42
>>873
目的は0→23なんです。

うあああああ
今までchar xって宣言してた。
今まで作ったの全部まちがってたかも
875デフォルトの名無しさん:2012/07/13(金) 18:42:06.43
全部足し算にして24の余を求めればいいんだよ
876デフォルトの名無しさん:2012/07/13(金) 18:45:30.22
char 自体が間違いと言うよりも
unsigned char として扱う処理系があるってだけ
コンパイルオプションで変わると思うけど他に影響が出る可能性が
あるから signed char にした方がいいかな
877デフォルトの名無しさん:2012/07/13(金) 19:49:35.68
hour++;
hour%=24;

hour--;
hour+=24;
hour%=24;
878デフォルトの名無しさん:2012/07/13(金) 21:39:21.19
質問させてください。

前置の++と後置の++では、「前者は値を増やしてから利用する、後者は値を利用してから増やす」という解説をよく見かけますが、
規格やK&Rをあたってみても「副作用がいつ発生するかは処理系による」というようなことしか書かれておらず、↑のような記述が見当たりません。
両者の説明はどちらが正しいのですか?それとも、どちらも正しく私が何か思い違いをしているだけなのでしょうか?
879デフォルトの名無しさん:2012/07/13(金) 21:40:14.35
fuck (num, num++, num++);

こういうファックなことはするな
880デフォルトの名無しさん:2012/07/13(金) 21:45:13.27
わからんなら二行でも三行でも分けてかけや
インクリメント演算子なんてコード減らさないといけなかった時代の負の遺産だ
881デフォルトの名無しさん:2012/07/13(金) 21:50:01.65
>>879
ありがとうございます。「正しく用いた場合の動作の順序は決まっているが、間違った使い方をした場合には動作の順序が保証されなくなる」ということでしょうか?
882デフォルトの名無しさん:2012/07/13(金) 21:52:27.25
>>881
YES
883デフォルトの名無しさん:2012/07/13(金) 21:54:35.93
値を利用してから(副作用完了点までの間のどこか:処理系による で)値を増やす

a[i++] = *p; /* 実は p = &i */ とかもやばい
884デフォルトの名無しさん:2012/07/13(金) 21:55:20.73
動作が不定な例を示せ
885デフォルトの名無しさん:2012/07/13(金) 21:56:28.30
>>884
単に実装依存なのに不定になるわけねーだろ
頭悪すぎるぞ
886デフォルトの名無しさん:2012/07/13(金) 21:57:57.95
規格で処理系依存から不定に格上げされてなかったっけ?
887デフォルトの名無しさん:2012/07/13(金) 22:08:18.63
>>883
本当にありがとうございます。
後置の++が「値を利用して→値を増やす」という順序は決まっているけれども、
この矢印の間のどこで値を増やすかが処理系によるということなんですね。
a[i++]=i; という式が未定義なのは、(左の)iを取り出すのは1加えるよりも先に行われるけれども、
その後(左の)iを1加えるか、(右の)iの値を取り出すか、どちらを先に行うかは処理系によるからだという解釈で良いのでしょうか。
888デフォルトの名無しさん:2012/07/13(金) 22:08:36.07
rand以外で乱数出すプログラム作れないですか?

例えば掛け算の結果の真ん中の数だけ抜き出すみたいな。
889デフォルトの名無しさん:2012/07/13(金) 22:09:52.42
掛け算の結果の真ん中を抜き出せ
890デフォルトの名無しさん:2012/07/13(金) 22:10:40.81
891デフォルトの名無しさん:2012/07/13(金) 22:11:44.17
>>887
OK OK
892デフォルトの名無しさん:2012/07/13(金) 22:12:53.83
OK牧場

ひゅーん、ころころ
893デフォルトの名無しさん:2012/07/13(金) 22:13:49.91
この前システムコールについて質問した者です。
javaとかだとコマンドプロンプトからWindowsのFrameとかを呼び出せるのですが
あれはシステムコールで言えば何という関数を使っているのでしょうか?
またCではグラフィックに関係するシステムコールの関数はなんでしょうか?

一応Javaでは

java jav.c appletviwer で
画像やフレームを取得して表示できます。
894デフォルトの名無しさん:2012/07/13(金) 22:15:38.40
win32api
895デフォルトの名無しさん:2012/07/13(金) 22:16:33.25
>>888
外部からエントロピーをもらわない限り、
コンピュータプログラムは決定的な動作しかできない
シードをどうするかという問題を除けば、多くの場合、randで使われるような
擬似乱数生成アルゴリズムを使うことができる。もちろん真の乱数ではないけど

>例えば掛け算の結果の真ん中の数だけ抜き出すみたいな。
「二乗中抜き法」でぐぐる
896デフォルトの名無しさん:2012/07/13(金) 22:17:00.21
>>891
理解できました。ここで質問してよかったです。ありがとうございました。
897デフォルトの名無しさん:2012/07/13(金) 22:17:24.06
>>894
Cから呼び出すにはどうしたらいいでしょうか?
環境はVisual C++とコマンドプロンプトです。
#include<Window.h>でいいでしょうか?

C言語書棚の関連書物の索引を調べても
#include<Window.h>という語句はなかったので。
898デフォルトの名無しさん:2012/07/13(金) 22:18:06.33
仮想機械を介して呼んでるだけで
Cでは処理系ごとにグラ関係の関数がある
899デフォルトの名無しさん:2012/07/13(金) 22:18:49.20
>>893
勉強する気ゼロ
900デフォルトの名無しさん:2012/07/13(金) 22:25:05.39
>>898
処理系ってツール?
901デフォルトの名無しさん:2012/07/13(金) 22:44:14.32
>>887
一応補足
副作用完了点 ってのはここ以降であれば 値が増えていることを保障できる点
>>883 の例ならば 行末の ; が相当。

関数引数の , は該当しないので >>879 の例はちとややっこしい
少なくとも ; では加算終了してるけど 関数引数をどの順で評価するのか という別のルールと複合するので
902デフォルトの名無しさん:2012/07/13(金) 23:16:30.26
while ( *cp++ ){
処理;
}

みたな書き方はあまり推奨されないのでしょうか。
903デフォルトの名無しさん:2012/07/13(金) 23:19:18.59
>>901
補足ありがとうございます。助かります
904デフォルトの名無しさん:2012/07/13(金) 23:22:17.70
>>902
動作が未定義だからね
905デフォルトの名無しさん:2012/07/13(金) 23:22:36.47
いえいえ
906デフォルトの名無しさん:2012/07/13(金) 23:22:40.14
>>904
ねーよ
907デフォルトの名無しさん:2012/07/13(金) 23:32:08.47
>>902
前時代的でダサいコードだな
908デフォルトの名無しさん:2012/07/13(金) 23:41:06.54
インクリメントは男の仕事!!
909デフォルトの名無しさん:2012/07/13(金) 23:43:38.20
劇場版エヴァンゲリヲンC
来年夏公開決定!
910デフォルトの名無しさん:2012/07/13(金) 23:44:17.43
劇場版エヴァンゲリヲンC
来年夏公開決定!
911赤い牛:2012/07/13(金) 23:49:28.08
オロナミンC 元気溌剌?
912デフォルトの名無しさん:2012/07/14(土) 00:07:35.41
この主張は辞めたん?

885 名前:デフォルトの名無しさん [sage] :2012/07/13(金) 21:56:28.30
>>884
単に実装依存なのに不定になるわけねーだろ
頭悪すぎるぞ
913デフォルトの名無しさん:2012/07/14(土) 00:09:42.06
頭の悪い >>912 が想像する不定とは何か?
それが問題
914デフォルトの名無しさん:2012/07/14(土) 00:10:43.97
ぶひひ
915デフォルトの名無しさん:2012/07/14(土) 00:11:00.12
妙なコメントに誤魔化されてるだけでしょ
916デフォルトの名無しさん:2012/07/14(土) 00:13:03.26
俺の主張は不定
917デフォルトの名無しさん:2012/07/14(土) 00:33:25.64
住所不定(ソルジャー派遣)
918デフォルトの名無しさん:2012/07/14(土) 02:54:18.92
#include <stdio.h>

int main(void)
{
 int i = 3;

 printf("%d\n", (++i)*(++i) );
 return 0;
}
/*
C:\>CD \Borland\Bcc55\bin

C:\Borland\bcc55\Bin>bcc32 ppi.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
ppi.c:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland

C:\Borland\bcc55\Bin>ppi
20

*/
919デフォルトの名無しさん:2012/07/14(土) 02:56:25.76
D:\work>gcc -Wall -o ppi ppi.c
ppi.c: In function `main':
ppi.c:7: warning: operation on `i' may be undefined

D:\work>ppi
25

D:\work>
920デフォルトの名無しさん:2012/07/14(土) 03:01:50.16
>>900
コンパイラのことです
921デフォルトの名無しさん:2012/07/14(土) 03:05:17.58
implementation 実装、処理系
922デフォルトの名無しさん:2012/07/14(土) 09:31:10.28
2つのライブラリを使っていて

あるライブラリで
struct a{
unsigned short a;
unsigned short b;
unsigned short c;
};
が定義されている


一方別のライブラリではstruct aに該当するものを配列として扱ってる
unsigned short d[3]でd[0]がa、d[1]がb、d[2]がc
で、void func(unsigned short *)が定義されている

この場合、struct a A[10]をキャストして
func((unsigned short *)A)として突っ込んでA[0].a〜A[9].cを[0][0]〜[9][2]として使うのって正しいですか?
気にしてるのはパディングされてずれたりしないかということです(処理系依存になっていないか)
923デフォルトの名無しさん:2012/07/14(土) 09:39:04.34
構造体のサイズを測れば?
924デフォルトの名無しさん:2012/07/14(土) 10:18:20.99
なんか、Cのコードで不定数の引数の関数を作る方法で、
fn(x, y, z, ...)としなければならないのを、zと...の間の,を入れていないコードが
コンパイルエラーにもならないし普通に動くんだけど、なんでだかわかる人います?
925デフォルトの名無しさん:2012/07/14(土) 10:53:40.15
なんかわかりずれぇなー
お前が書いた2パタン
そのまま上げろよ
926デフォルトの名無しさん:2012/07/14(土) 11:20:08.56
void f1(int x, int y, int z, ...); と
void f1(int x, int y, int z...); の
両方が通るって話だろ。

どんなコンパイラを使ってるのかは神のみぞ知るだけど。
927922:2012/07/14(土) 11:46:20.65
>>923
それは言語仕様として決まっていない(処理系依存)ということでしょうか?
処理系によりずれる可能性があるのであれば代入してから使用するようにします
d[i][0] = A[i].a;
d[i][1] = A[i].b;
d[i][2] = A[i].c;
としてからからfunc(d)とする
928デフォルトの名無しさん:2012/07/14(土) 12:00:57.71
>>926
MacやLinux上でg++
細かいバージョン番号は知らないけどそれなりに新しい
929デフォルトの名無しさん:2012/07/14(土) 12:03:48.42
バージョンも書かないわgccじゃなくg++とか言い切るわクズだな
930デフォルトの名無しさん:2012/07/14(土) 12:11:40.28
>>929
>gccじゃなくg++

は?
931デフォルトの名無しさん:2012/07/14(土) 12:20:46.51
タイトル読め
932デフォルトの名無しさん:2012/07/14(土) 12:25:16.05
>>931
そこ、C++部分じゃないんだが?
K&R読め
933デフォルトの名無しさん:2012/07/14(土) 12:26:41.69
>>922
構造体中の先頭のメンバだけは言語仕様でパディングが無い事が保証されてる(6.7.2.1)
2番目以降のメンバはその保証が無い
934デフォルトの名無しさん:2012/07/14(土) 12:30:04.71
>>932
それがどうした
935デフォルトの名無しさん:2012/07/14(土) 12:33:17.27
>>934
C言語の話題をC言語のスレでふって何が悪い?
936デフォルトの名無しさん:2012/07/14(土) 12:40:28.55
うるせー口くせーからしゃべんな
937デフォルトの名無しさん:2012/07/14(土) 12:44:10.25
>>935
おめーだれ?いったい何者?何がしたいの?バカ?
938uy ◆Qe4wwDKtLk :2012/07/14(土) 13:23:48.60
キリッwwwwwwwwwwキリッwwwwwWWWW
939デフォルトの名無しさん:2012/07/14(土) 14:38:47.06
吉里吉里
940デフォルトの名無しさん:2012/07/14(土) 14:42:36.25
馬鹿のuyです(キリ)
941デフォルトの名無しさん:2012/07/14(土) 16:15:31.34
ヒント
入門スレにはそれに相応しいレベルの回答者
942デフォルトの名無しさん:2012/07/14(土) 16:31:31.66
ヒント
お前が答えろよ
943 ◆QZaw55cn4c :2012/07/14(土) 16:36:20.84
ヒント
uy もひどいが QZ は最悪
944デフォルトの名無しさん:2012/07/14(土) 17:06:39.74
131 名前:uy ◆pdu1UZmweE [sage] 投稿日:2012/07/05(木) 19:43:52.94
お前らは何かに熱中してるか?
おそらく何も熱中してないだろう
俺は女子小学生のパンチラにハマっている
お前らも熱中するものを持つと人生が豊かになるぞ
945 ◆QZaw55cn4c :2012/07/14(土) 23:24:47.55
>>843,845
お?
946 ◆QZaw55cn4c :2012/07/14(土) 23:38:00.85
>>169
他のスタイルは知らないが、K&R では

1) 関数は
function(a, b, c);
void function(void);
と識別子と()の間にスペースをいれない

2) 制御文 for, while, do-while, switch では
for (i = 0; i < n; i++) { }
switch (b) {
while (n > 0) {
とスペースを入れる

ただ、ここで重要なのはスタイルを一定にしておくことかもしれない。
947デフォルトの名無しさん:2012/07/14(土) 23:41:42.51
大事なことは馬鹿のいうことは聞かないことだ
948デフォルトの名無しさん:2012/07/14(土) 23:45:15.09
もっと大事なのは
誰がヴァカなのかを見極めることだ。
ちなみにオレ様はヴァーーーカやろうじゃないからな、
安心して質問でもなんでもしてくれ給え 学生諸君。
949デフォルトの名無しさん:2012/07/14(土) 23:48:59.03
↑馬鹿
950デフォルトの名無しさん:2012/07/14(土) 23:51:09.46
大事なのはQがクズだという事だ
951デフォルトの名無しさん:2012/07/14(土) 23:52:05.94
>>948
システムコールでコンテキストスイッチが何回おきるか分かりません
952 ◆QZaw55cn4c :2012/07/15(日) 00:03:45.16
スレも最後の方になったんで気になっていたことを。

>>464
へー、そんなもんがあるんすね。単にググッてるだけ、という気もしますが。
で、どんな特徴があるのですか?ひとつお伺いしたいなあ。自分じゃ気づかないんですね。
953デフォルトの名無しさん:2012/07/15(日) 01:47:53.17
QZ先生は何と戦ってるんですか
954デフォルトの名無しさん:2012/07/15(日) 01:56:17.02
>>951
答える前に問おう、
なんで分からないんだ?
なんで貴様はその回数を知ることができないんだ?
955 ◆QZaw55cn4c :2012/07/15(日) 03:53:56.54
>>953
ごめんなさい。小出裕章さんの映像に影響されすぎました。
956デフォルトの名無しさん:2012/07/15(日) 04:10:17.15
>>954
わからないからきいてるのですが
957デフォルトの名無しさん:2012/07/15(日) 04:49:34.59
Microsoftは学生優遇すぎんぞおおお!
僕もVisualStudio2010でインテリジェンスな開発環境を構築したい。
958デフォルトの名無しさん:2012/07/15(日) 05:08:37.27
誰か釣られろ
959デフォルトの名無しさん:2012/07/15(日) 10:27:45.46
次スレ立てます
960デフォルトの名無しさん:2012/07/15(日) 10:28:44.52
次スレ立てました
C言語なら俺に聞け(入門編)Part 104
http://toro.2ch.net/test/read.cgi/tech/1342315713/
961デフォルトの名無しさん:2012/07/15(日) 10:33:02.95
スレ立て乙です
962デフォルトの名無しさん:2012/07/15(日) 12:04:31.13
>>958
実際、visualstudioって高いお?
963デフォルトの名無しさん:2012/07/15(日) 12:13:43.70
インテリジェンスww
開発環境www
構築wwww

知性のカケラもねぇなwwwwwwww
964デフォルトの名無しさん:2012/07/15(日) 12:13:46.88
>>957
学校を設立すればいい
楽勝だ
965デフォルトの名無しさん:2012/07/15(日) 12:15:12.68
インテリジェンスは名詞だから
インテリジェントな の方が自然である
966デフォルトの名無しさん:2012/07/15(日) 12:22:19.06
bizspark
967デフォルトの名無しさん:2012/07/15(日) 13:29:57.74
Thisポ!
968デフォルトの名無しさん:2012/07/15(日) 18:51:30.44
【民主党】野田「この10ヶ月で外国に14兆円あげてお金ないの!10月までに国債発行認めて><」
http://engawa.2ch.net/test/read.cgi/poverty/1342321938/


特例公債法案:成立しなければ秋に財源ほぼ枯渇…財務省

 安住淳財務相は6日、赤字国債発行に必要な特例公債法案が今国会で成立しなければ、
10月に財源がほぼ枯渇するとの試算を公表した。
 12年度予算の歳入90.3兆円のうち、
税収や建設国債など現時点で調達のあてがあるのは約6割(52兆円)で、
残り4割(38.3兆円)は赤字国債で賄う計画。
財務省によると、一般会計の支出は9月末に43.9兆円(公共事業など建設国債の対象を含む)に達する見通し。
10月の支出予想額5兆円を合わせると48.9兆円となり、10月中にほぼ使い切る計算だ。

http://mainichi.jp/select/news/20120707k0000m020058000c.html


野田政権になってから海外にプレゼント

野田佳彦首相が政権の座について、まだ1年にもならないが、
その間に外国や国際機関に提供を約束した資金は、総額で約14兆3,000億円にのぼる。
内わけはIMFへの資金保証が5兆円、その他発展途上国への円借款などが多く見られる。
1国に対する最大の支援は韓国への700億ドル(約5兆円)にのぼるスワップ支援。
ネット上ではこれをとらえ、「なにゆえ韓国を優遇する?」との声が上がっている。

http://www.tax-hoken.com/news_acUOZ1pVMs.html


969デフォルトの名無しさん:2012/07/15(日) 22:01:10.42
順列を作るプログラムを作っているのですが
重複しない場合のはできたのですが
重複を許す場合のプログラムが上手く作れません
下のプログラム改変でできないでしょうか?
970デフォルトの名無しさん:2012/07/15(日) 22:02:01.45
#include<stdio.h>
int a[100];
int c[100];
void combi(int n,int r,int p,int q){
int i;
if(q>=r){
for(i=0;i<r;i++) printf("%3d",c[i]+1);
printf("\n");
return;
}
for(i=p;i<n;i++){
c[q]=a[i]; combi(n,r,i+1,q+1);
}
}
int main(void){
int i,n,r;
printf("nCr algo please input n,r ="); scanf("%d,%d",&n,&r);
for(i=0;i<n;i++){ a[i]=i; c[i] =0;}
combi(n,r,0,0);
return 0;
}
971969:2012/07/15(日) 22:51:53.06
連投すみません
再起の
c[q]=a[i]; combi(n,r,i+1,q+1);をc[q]=a[i]; combi(n,r,0,q+1);
にしたらできたのですがプログラム的には問題ないでしょうか?
972デフォルトの名無しさん:2012/07/16(月) 00:29:27.93
"メニュー画面に戻る"という処理はどのような流れでやればいいのでしょうか
今はswitch文で分岐して戻り値の無い関数に飛んでメニュー画面の関数を呼び出しているのですが、初回のような画面になりません

どうぞよろしくお願いいたします。
973デフォルトの名無しさん:2012/07/16(月) 00:41:34.69
状態機械でやるといいよ
974デフォルトの名無しさん:2012/07/16(月) 00:56:07.53
フラグでおk
975 ◆QZaw55cn4c
>>974
赤上げて白下げて白上げないで赤下げない、状態になるんではないかな?