トップページ⇒tech
1001コメント205KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2010/10/24(日) 08:33:23
C言語の*入門者*向け解説スレッドです。
★前スレ
C言語なら俺に聞け(入門編)Part 71
http://hibari.2ch.net/test/read.cgi/tech/1286717824/
★過去スレ
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++の宿題片付けます 141代目
http://hibari.2ch.net/test/read.cgi/tech/1286978599/
★C++言語については避けてください。C++対応明記スレへどうぞ
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
  # サイズが大きい場合は宿題スレのアップローダ等を利用してください
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
0002デフォルトの名無しさん2010/10/24(日) 15:00:21
*p[]  ポインタの配列
(*p)[]  配列へのポインタ

豆知識な
0003次スレ2010/10/24(日) 16:43:13
>>2
そんな当たり前のことを言われても
0004デフォルトの名無しさん2010/10/24(日) 16:52:43
>>3
あ?C言語なら俺に聞けよ
0005デフォルトの名無しさん2010/10/24(日) 17:42:32
質問はないのか!質問は!
0006デフォルトの名無しさん2010/10/24(日) 17:45:06
28歳無職ですが今後の人生が不安です。どうしたらいいですか。ちなみにITの経験は3年程あります。
0007デフォルトの名無しさん2010/10/24(日) 17:47:50

     ||
   ∧||∧
  (  ⌒ ヽ
   ∪  ノ
   ∩∪∩
   (・∀・| | ウヒョー
    |     |
  ⊂⊂____ノ
       彡
0008デフォルトの名無しさん2010/10/24(日) 20:30:33
>>6
マジレスすると、30までになんとか就職しとけ
29と30は1歳しか違わないが、相手からの印象は相当変わる
0009デフォルトの名無しさん2010/10/24(日) 20:33:41
確かに
0010デフォルトの名無しさん2010/10/24(日) 21:02:51
http://codepad.org/BvHHu02a
128bitの unsigned int 型です。
いまのところ足し算しかできません。
だれか気が向いたら書き足してください。
0011デフォルトの名無しさん2010/10/24(日) 22:00:49
符号なしか符号ありなのか、ソース見てるとわからんようになってくるんですけど
0012デフォルトの名無しさん2010/10/24(日) 22:16:18
前スレ>>989
お礼遅れてすいません
ようやく理解できました。ありがとうございます
0013デフォルトの名無しさん2010/10/24(日) 22:20:16
俺には礼も無しか?
0014デフォルトの名無しさん2010/10/24(日) 22:20:58
誰だよ
0015デフォルトの名無しさん2010/10/24(日) 22:24:33
俺にもないのかよ。
0016デフォルトの名無しさん2010/10/24(日) 22:26:59
>>12
なあに、礼なんかいらねえ。困った時はお互い様だ
分からないことがあったら、また気軽に聞いてくれよな
0017デフォルトの名無しさん2010/10/24(日) 22:28:03
>>16
はい。
これからもよろしくお願いしますね
0018デフォルトの名無しさん2010/10/24(日) 22:42:44
がはは
0019デフォルトの名無しさん2010/10/24(日) 23:07:28
>>17
いいからいいから
0020デフォルトの名無しさん2010/10/24(日) 23:12:22
>>10
http://codepad.org/YZvm3LB6
引き算を追加したつもり
0021デフォルトの名無しさん2010/10/24(日) 23:27:58
無限ループがわかりません。
いったん無限ループに入っちゃったら
もう二度とそのマックは使えないってことですか?
0022デフォルトの名無しさん2010/10/24(日) 23:29:30
お前の無限ループで地球がやばい
0023デフォルトの名無しさん2010/10/24(日) 23:54:19
普通にソフト作ったら無限ループだらけ
0024デフォルトの名無しさん2010/10/25(月) 00:05:16
世の中も無限ループってことさ
0025デフォルトの名無しさん2010/10/25(月) 00:05:40
無限ループって怖くね?
0026デフォルトの名無しさん2010/10/25(月) 00:13:10
実際に"無限"にループするのか確認したことはない。
0027デフォルトの名無しさん2010/10/25(月) 00:14:41
しかしながら放置しておくと無限に続くのではないか。何故ならばループから抜け出す条件がないからだ。
0028デフォルトの名無しさん2010/10/25(月) 00:16:32
右上の×ボタンを押しても停止しないように、あるいは再実行するように作らないとな
0029デフォルトの名無しさん2010/10/25(月) 00:18:54
char[256];

fgets(buf, sizeof(buf) / sizeof(*buf), stdin);
sscanf(buf, "%s", p -> tag);

この時ストリームには改行が残るんでしょうか?
0030デフォルトの名無しさん2010/10/25(月) 00:21:43
実際に実行白ボケ
0031デフォルトの名無しさん2010/10/25(月) 00:24:27
ストリームに残ってるかどうかはその後のデータ次第。
ちなみに、バッファには残ってる。
0032デフォルトの名無しさん2010/10/25(月) 00:24:57
実際に実行してみるんですが上手くいかなかったので…
http://codepad.org/SxL4FwBV

実行結果がこれなんですが途中で止まってしまいます。
1:データ追加 0:終了 --> 1
本の名前? :fdad
何の言語の本?(C/Cplus) :C
1:データ追加 0:終了 --> 1
0033デフォルトの名無しさん2010/10/25(月) 00:25:53
まず質問が不完全だな。
0034デフォルトの名無しさん2010/10/25(月) 00:26:07
>>20
http://codepad.org/FD7uHglZ
0クリア追加
右シフト追加
0035デフォルトの名無しさん2010/10/25(月) 00:48:11
>>34
http://codepad.org/YqluUOgC
1bitシフトとand,or,xorを追加したつもり
テストはしてないので...
間違い、気に入らない部分は修正して...
0036デフォルトの名無しさん2010/10/25(月) 04:45:33
>>32
fdad の直後に落ちないのが不思議なプログラム
p->book_name と p->tag が指す領域を確保しなければならない、しかもそれらの指すアドレスが不定とくれば....

p -> tag みたいな書き方は始めて見たよ、統一感を出す為に head . next と書くべきでは?
0037デフォルトの名無しさん2010/10/25(月) 05:38:22
オブジェクト指向ー!
0038デフォルトの名無しさん2010/10/25(月) 07:20:00
>>35
right_shift_1_INT128で、下位桁のMSBをキャリーで書き潰しているのはまずいな
0039デフォルトの名無しさん2010/10/25(月) 07:34:34
ランダウー
0040デフォルトの名無しさん2010/10/25(月) 08:21:46
>>38
http://codepad.org/YSbJq6E4
shift_1が共にたこってたので、修正してみた
0041デフォルトの名無しさん2010/10/25(月) 09:16:28
>>40
http://codepad.org/XRZUjVbu
ついでにmul,divを追加したつもり
合ってるかな?
0042デフォルトの名無しさん2010/10/25(月) 09:39:41
http://codepad.org/cCFTN48N
西暦年を入力させて、オリンピック開催年かどうか判断するプログラムなんですが(厳密には違う)
19行目のvalue = oylmpic(year)と言うのがありますが、olympic関数で値が帰ってきた場合
value = enum定数となるという考え方でいいでしょうか?
あと何か注意点があればご教示お願いします
0043デフォルトの名無しさん2010/10/25(月) 10:51:03
注意点というか・・・
enumをintで扱うのは行儀が悪いと思います
まぁ「お上品なお作法なんかやってられるか」って方針なら別にそれでもいいんですが
http://codepad.org/zlcNp595
0044デフォルトの名無しさん2010/10/25(月) 10:57:01
>>43
むしろ曖昧な知識で適当なこと行ってないかお前
0045デフォルトの名無しさん2010/10/25(月) 11:02:29
適当なこと言ってすいません(´・ω・`)
0046デフォルトの名無しさん2010/10/25(月) 11:06:20
お行儀が悪いってのは本当そのままの意味だったらすまない
Cだと全く問題おこらなくないか?
0047デフォルトの名無しさん2010/10/25(月) 11:53:18
起こらないし何を言ってるのかわからない
0048デフォルトの名無しさん2010/10/25(月) 11:59:43
>>43
そんなことはみんな知ってるし聞いてない。
0049デフォルトの名無しさん2010/10/25(月) 12:00:54
ふう、安心した
0050デフォルトの名無しさん2010/10/25(月) 12:02:36
>>48
デスヨネー(´・ω・`)
他に注意点らしきものなんて何も思いつかない
0051422010/10/25(月) 12:15:58
enumをintで扱うというのはint olympicでは不適切だと言うことですか?
enum定数を使う場合、関数もenum〜で宣言したほうがいいということですか?
0052デフォルトの名無しさん2010/10/25(月) 12:23:38
ぶっちゃけどっちでもイイヨー
俺は細かいこと気にしすぎラスィ(´・ω・`)
0053デフォルトの名無しさん2010/10/25(月) 12:29:58
>>42
oylmpic() の型の話より、むしろ case 0: の方が気になる、何の為の enum 定義かと小一時間...
0054デフォルトの名無しさん2010/10/25(月) 13:46:32
アホ(´・ω・`)
0055デフォルトの名無しさん2010/10/25(月) 15:05:31
int res;

res = olymic();

switch (res){
   case enum.hoge1:
     処理;
     break;
   case enum.hoge2:
     処理;
     break;
     ・
     ・
     ・
   default:
     処理;
}
0056デフォルトの名無しさん2010/10/25(月) 16:12:24
オリミックw
0057デフォルトの名無しさん2010/10/25(月) 16:21:27
switch (olympic(...)) {
case KOLYMPIC:
...;
break;
case TOLYMPIC:
...;
break;
default:
...;
break;
}
0058デフォルトの名無しさん2010/10/25(月) 16:22:36
#include<stdio.h>
int f(int x,int *y,int *z,int w){
x=x+5;*y=*y+x;*z=*z+*y-x;w=w*x-1;
printf("%d %d %d %d \n",x,*y,*z,w);}
int main(void){
int x,y,*z,w;
x=3;y=x*x-3;z=&y;w=*z;
f(x,&x,z,w);
printf("%d %d %d %d \n",x,y,*z,w);
return 0;}

[実行結果]
8 11 9 47
11 9 9 6

何故2行目の実行結果になるのでしょうか?
0059デフォルトの名無しさん2010/10/25(月) 16:34:46

int a, b, c, d;
scanf("%d%d%d%d", &a, &b, &c, &d);

第4引数dの入力を良略しても
次の処理に移れるようにしたいのですが、
どうすればよいでしょうか。

よろしくお願いします。
0060デフォルトの名無しさん2010/10/25(月) 16:37:42
>>58
11はfの中で *y=*y+x (=3+8) を計算した結果
9はfの中で *z=*z+*y-x (=6+11-8) を計算した結果
6はmainで y=x*x-3 (=3*3-3) を計算した結果
0061デフォルトの名無しさん2010/10/25(月) 16:42:55
>>58
これは厄介だ。
一つ一つ紐解こう。
関数main()においてf()呼び出し時点での各変数の値は以下の通り。
x ⇒ 3, y ⇒ x * x - 3 ⇒ 6, z ⇒ & y, w ⇒ * z ⇒ y ⇒ 6
* z ⇒ y ⇒ 6
関数f()において呼び出された時点の仮引き数は以下の通り。
x ⇒ 3, y ⇒ & (main()の)x, z ⇒ & (main()の)y, w ⇒ 6
* y ⇒ (main()の)x ⇒ 3, * z ⇒ (main()の)y ⇒ 6
f()のprintf()実行時。
x ⇒ x + 5 ⇒ 8, y ⇒ & (main()の)x, z ⇒ & (main()の)y, w ⇒ w * x - 1 ⇒ 47
* y ⇒ (main()の)x + x ⇒ 3 + 8 ⇒ 11, *z ⇒ (main()の)y + (main()の)x - x ⇒ 6 + 11 - 8 ⇒ 9
main()のprintf()実行時。
x ⇒ 11, y ⇒ 9, z ⇒ & y, w ⇒ 6
* z ⇒ y ⇒ 6
以上。
0062デフォルトの名無しさん2010/10/25(月) 16:42:59
>>59の質問がおかしいので
修正します。

int a, b, c, d;
scanf("%d%d%d%d", &a, &b, &c, &d);

4番目の%d(一番右)の入力を良略しても
次の処理に移れるようにしたいのですが、
どうすればよいでしょうか。

よろしくお願いします。
0063デフォルトの名無しさん2010/10/25(月) 16:47:00
>>59
良略というのがなんのことだか知らんが、省略したいということならscanf()で"%d"を使う限り無理。
fgets()で1行入力しておいてsscanf()で回収するのが無難。
0064デフォルトの名無しさん2010/10/25(月) 16:47:34
getsか何かで入力を受け取って自分でabcdに値を入れる処理を書けば良いんじゃね
0065デフォルトの名無しさん2010/10/25(月) 16:53:15
char buf[100];
int a, b, c, d;
if (fgets(buf, sizeof(buf), stdin) == NULL) /* error */;
if (sscanf(buf, "%d%d%d%d", &a, &b, &c, &d) != 4) /* error */;
0066デフォルトの名無しさん2010/10/25(月) 17:02:03
char buf[100];
int a, b, c, d;
fgets(buf, sizeof(buf), stdin);
sscanf(buf, "%d %d %d %d", &a, &b, &c, &d);
0067デフォルトの名無しさん2010/10/25(月) 17:07:32
int sts;
sts = sscanf("%d%d%d%d", &a, &b, &c, &d);
if (sts == 3) { /* d省略時 */
 d = … /* 省略時の値をここで代入 */
} else if (sts != 4) { /* error */
 /* 入力エラー */
}
0068デフォルトの名無しさん2010/10/25(月) 17:19:45
なんでお前らbuf[100]で取ってんのにa,b,c,dに入れ替えてんの?
buf[100]で取った後、For を100回まわして0を検査でbreak;すりゃ何番目の配列まで使ってるか出るだろ。
0069デフォルトの名無しさん2010/10/25(月) 17:26:29
>>62をよく読め
0070デフォルトの名無しさん2010/10/25(月) 17:29:11
>>62
おまえさん、それは二重質問だよ
「省略された」入力が4番目とどうしてわかる?
3番目を省略しても入力の個数は1つ足りなくなるし、
そもそも省略ではなくエラーかも知れないだろ
0071デフォルトの名無しさん2010/10/25(月) 17:35:52
それを言うなら>>52のソースだと文字の区切りがわからないから何文字取って入力された値とするかがわからんよな。

例:
入力された値、12345

果たしてこれは1,2,3,4,5なのか12,3,45なのか1,23,4,5なのか123,45なのか・・・以降、すべての可能性
0072デフォルトの名無しさん2010/10/25(月) 17:40:29
阿呆がいる。scanf("%d%d%d%d", ...)と書いてもきちんと空白文字で区切られていることが想定されていることさえ知らないらしい。
0073デフォルトの名無しさん2010/10/25(月) 17:43:25
紙の本の上で行数を節約するための

( ){
}

スタイルを実際でもやってるやつってアホだよな。
0074デフォルトの名無しさん2010/10/25(月) 17:45:08
>>73
関数の先頭ならいざ知らず、ifやfor, whileの場合はそれが一つのスタイルとして定着しているからね。
0075デフォルトの名無しさん2010/10/25(月) 17:47:57
数値(自然数)の桁数を返す関数ってありますか?
0076デフォルトの名無しさん2010/10/25(月) 17:48:51
フリースタイルなんだからいいじゃん
ただ人に見せるな
0077デフォルトの名無しさん2010/10/25(月) 17:51:26
>>75
対数で求めるのとは違う方法でか?
0078デフォルトの名無しさん2010/10/25(月) 17:55:52
関数ではない
函数だ
0079デフォルトの名無しさん2010/10/25(月) 18:00:22
>>72
お前に言われたくないだろうな
0080デフォルトの名無しさん2010/10/25(月) 18:01:04
>>75
これじゃだめなの?

int keta ( unsigned int n ){
int k;
for (k=0; n>0; k++,n/=10);
return k;
}
0081デフォルトの名無しさん2010/10/25(月) 18:02:20
浮動小数点の内部表現に大きく依存するだろ
IEEE754なら確か公式があったと思うが
0082デフォルトの名無しさん2010/10/25(月) 18:08:37
函数じゃなくて凾數だからね
0083デフォルトの名無しさん2010/10/25(月) 18:11:36
おいおいそんな常識問題に応えられないのかよ
他人に回答を教えられるレベルじゃないんだから
このスレに来るな
出直してこい
0084デフォルトの名無しさん2010/10/25(月) 18:13:58
うきょ
0085デフォルトの名無しさん2010/10/25(月) 18:15:23
>>75
log10()関数だと処理が重いから、自然数なら>>80で十分
0086デフォルトの名無しさん2010/10/25(月) 18:16:32
はるばる来たぜ函館
0087デフォルトの名無しさん2010/10/25(月) 18:19:08
自然数じゃなくてもいけますが?w
00883362010/10/25(月) 18:19:56
>>85
アリガ�d(´・ω・`)
0089デフォルトの名無しさん2010/10/25(月) 18:19:58
ガウス記号ってあったっけ?
0090デフォルトの名無しさん2010/10/25(月) 18:25:15
>>89
[x+[x+[x+[x+1]]]]
0091デフォルトの名無しさん2010/10/25(月) 18:35:35
is kanjiってなんですか
0092デフォルトの名無しさん2010/10/25(月) 18:36:09
は?
0093デフォルトの名無しさん2010/10/25(月) 18:36:52
漢字 is kanji
0094デフォルトの名無しさん2010/10/25(月) 18:41:44
時代はUNICODE
0095デフォルトの名無しさん2010/10/25(月) 18:42:13
幹事でしょ?社会人になるといろいろ大変そうだな
0096デフォルトの名無しさん2010/10/25(月) 18:50:57
iskanji()です わかりやすく説明してもらえますまいか
0097デフォルトの名無しさん2010/10/25(月) 18:52:48
漢字かどうか判定する関数だろ
0098デフォルトの名無しさん2010/10/25(月) 19:04:41
いやちがう
0099デフォルトの名無しさん2010/10/25(月) 19:06:57
ShiftJIS の1バイト目か判断する
0100デフォルトの名無しさん2010/10/25(月) 19:10:36
じゃあ関数名が間違ってる
0101デフォルトの名無しさん2010/10/25(月) 19:13:35
だいたいkanjiってローマ字が使ってある時点で標準関数じゃないってわかるだろ
0102デフォルトの名無しさん2010/10/25(月) 19:37:30
>>71は恥ずかしすぎるだろw
クソワロタ
0103デフォルトの名無しさん2010/10/25(月) 19:38:09
>>97
tekitounikotaerunayo
0104デフォルトの名無しさん2010/10/25(月) 19:48:11
売上1万超えたー
マジ嬉しー^^v
0105デフォルトの名無しさん2010/10/25(月) 20:15:39
誤爆したなら謝らないとな
0106デフォルトの名無しさん2010/10/25(月) 20:45:10
無差別テロだ
誤爆ではない
0107デフォルトの名無しさん2010/10/25(月) 21:14:44
ふ?
0108デフォルトの名無しさん2010/10/25(月) 21:20:19
>>36
mallocで領域確保すれば良いんですかね?
回答ありがとうございました。
0109デフォルトの名無しさん2010/10/25(月) 22:39:55
なぁおまえらforとかifは{}どっちに付ける派?

俺は当然
for(i = 0; i <= 100; i++){
if(num == 0){

}
}

だが。
0110デフォルトの名無しさん2010/10/25(月) 22:43:47
>>109
そんなことより、forと(や、)と{の間にスペースが入ってないのが気持ち悪い。
0111デフォルトの名無しさん2010/10/25(月) 22:44:23
行頭に持ってくる派
0112デフォルトの名無しさん2010/10/25(月) 22:55:41
T-1000 のように変幻自在に客のコピーになる
完全に溶け込むこともまた黒子の技能の1つ
0113デフォルトの名無しさん2010/10/25(月) 23:01:34
int main(void)
{
for (i = 0; i <= 100; i++) {
if (num == 0) {
派。
0114デフォルトの名無しさん2010/10/25(月) 23:10:34
インクリメントは前置き派
++i;
0115デフォルトの名無しさん2010/10/25(月) 23:59:30
イテレータ考えると前置きにした方がいいのに
ついつい後ろ置きにしてしまう派
0116デフォルトの名無しさん2010/10/26(火) 00:01:10
>>115
明日から来なくていいよ
0117デフォルトの名無しさん2010/10/26(火) 00:01:19
int* p;
派
0118デフォルトの名無しさん2010/10/26(火) 00:09:54
てst
0119デフォルトの名無しさん2010/10/26(火) 00:18:32
int * p派だな
0120デフォルトの名無しさん2010/10/26(火) 00:19:28
i = i + 1
と同じなのは i++ ++i どっち。
0121デフォルトの名無しさん2010/10/26(火) 00:22:16
i++
0122デフォルトの名無しさん2010/10/26(火) 00:25:04
++i
0123デフォルトの名無しさん2010/10/26(火) 00:25:43
+i+
0124デフォルトの名無しさん2010/10/26(火) 00:26:42
+ii
0125デフォルトの名無しさん2010/10/26(火) 00:30:57
i++と++iは違います。i++は、プログラムがその行を実行した後に1増加させます。++iは、プログラムがその行を実行する前に1増加させます。デクリメント演算子も同様です。
0126デフォルトの名無しさん2010/10/26(火) 00:33:30
i--------i
|山崎ハコ |
i--------i
0127デフォルトの名無しさん2010/10/26(火) 00:37:45
こんなに苦しいのなら悲しいのなら……iなどいらぬ!!」
0128デフォルトの名無しさん2010/10/26(火) 00:59:38
うんこ
0129デフォルトの名無しさん2010/10/26(火) 02:19:11
このスレの皆でダイテルのC言語本の解答を作るんだ!
0130デフォルトの名無しさん2010/10/26(火) 03:14:50
ダイテル本って今まで完全スルーしてたわ。普通に本屋に売ってるっけ?ちょっと明日立ち読みしてくるわ
0131デフォルトの名無しさん2010/10/26(火) 05:10:45
i<11とi=<10どっちがはやい?
0132デフォルトの名無しさん2010/10/26(火) 05:19:36
CPUによる
0133デフォルトの名無しさん2010/10/26(火) 05:21:24
最適化されたら一緒
0134デフォルトの名無しさん2010/10/26(火) 05:26:36
>>132
>>133
ほんとかあ?
0135デフォルトの名無しさん2010/10/26(火) 05:29:39
部分的にみたら、変わらない
0136デフォルトの名無しさん2010/10/26(火) 05:39:56
intもdoubleも計算の速さ変わらないよね?
doubleはなるべく使うなって言われたんだけど
0137デフォルトの名無しさん2010/10/26(火) 05:41:14
intの方が速いに決まってるだろ
0138デフォルトの名無しさん2010/10/26(火) 05:51:59
じゃあ
unsignedを付けるか付けないかで変わる?
0139デフォルトの名無しさん2010/10/26(火) 05:52:34
比較対象がいきなり...
0140デフォルトの名無しさん2010/10/26(火) 05:54:29
何も考えてないと前後関係によってはバグる可能性が出てくる
0141デフォルトの名無しさん2010/10/26(火) 06:41:26
>>80
Cでそんな書き方が許されるかボケ
0142デフォルトの名無しさん2010/10/26(火) 06:42:25
>>114がアホすぎる
0143デフォルトの名無しさん2010/10/26(火) 06:57:51
goto使って何が悪い
for抜けるのに便利や
0144デフォルトの名無しさん2010/10/26(火) 07:00:04
gotoを使うコードはgotoとか関係なく既に汚くてどうしようもないから使っても良いよ
0145デフォルトの名無しさん2010/10/26(火) 07:32:07
>>141
コンパイルしてから文句言えや。
0146デフォルトの名無しさん2010/10/26(火) 07:37:23
どこにも許されない要素が見当たらないな
0147デフォルトの名無しさん2010/10/26(火) 07:39:51
むしろ何処にケチつけたか興味
0148デフォルトの名無しさん2010/10/26(火) 07:51:53
おい
10^0が1にならんぞボケ
0149デフォルトの名無しさん2010/10/26(火) 08:00:06
は?
0150デフォルトの名無しさん2010/10/26(火) 08:03:31
>>85
80と類似だが、『ハッカーのたのしみ』に
底10の整数対数を計算する話題が載ってた

http://codepad.org/8AuhhCgN
0151デフォルトの名無しさん2010/10/26(火) 08:06:01
除算は遅いからな
0152デフォルトの名無しさん2010/10/26(火) 08:08:09
そもそも0は自然数に含めるのか
含めるとして0の桁数は数えられるの?とか
0153デフォルトの名無しさん2010/10/26(火) 08:18:25
>>149
a^0=1だろがボケカス
糞コンパイラ死ね
0154デフォルトの名無しさん2010/10/26(火) 08:48:34
つか「i=<10」って書くか?
i<=10じゃねーの?普通。
0155デフォルトの名無しさん2010/10/26(火) 08:54:48
そんなことはみんな知ってるし聞いてない。
0156デフォルトの名無しさん2010/10/26(火) 09:45:58
>>155
うるせぇな、知らないんなら黙ってろよボケ
0157デフォルトの名無しさん2010/10/26(火) 09:51:45
知ってるなら「存在しない書き方」などしないはずだ。

つーかこいつPerl忍者とかいうキチガイじゃねーのか?
ちゃんとコテ付けとけようぜーから。
0158デフォルトの名無しさん2010/10/26(火) 09:58:28
コピペに反応すんな
0159デフォルトの名無しさん2010/10/26(火) 10:20:48
(2^(131)+192)/224は自然数であることを示し
桁数を求めよ
0160デフォルトの名無しさん2010/10/26(火) 11:09:04
38だな
0161デフォルトの名無しさん2010/10/26(火) 11:30:32
『curoff』 関数(?)っていうのが、
ググッても海外のサイトばかりで分かりません
どういう関数なんですか、教えてください
0162デフォルトの名無しさん2010/10/26(火) 11:36:16
>>161
C言語にそんな関数は存在しない。
0163デフォルトの名無しさん2010/10/26(火) 11:42:04
cutoffだろ
0164デフォルトの名無しさん2010/10/26(火) 11:51:06
すいません、自己解決しました

仕様書をみて気づきましたが、
知人が作ったhファイルで定義されていました

ちなみに、カーソルを消す命令でした
ありがとうございました
0165デフォルトの名無しさん2010/10/26(火) 12:09:18
底10の整数対数はこの方法が速いのかな、さっぱりわからんけど
http://graphics.stanford.edu/~seander/bithacks.html#IntegerLog10
0166デフォルトの名無しさん2010/10/26(火) 12:12:19
日本語でおk
0167デフォルトの名無しさん2010/10/26(火) 12:18:46
最高の独自言語コンパイラ作ったwww
まじうんこwww
0168デフォルトの名無しさん2010/10/26(火) 12:21:42
誤爆したwww
0169デフォルトの名無しさん2010/10/26(火) 14:36:04
コピペに反応すんな
017012010/10/26(火) 16:10:09
>>130
持ってるけどプログラミング作法も書いてあって良書。
練習問題の解答がないのがあれだけど。
0171デフォルトの名無しさん2010/10/26(火) 17:03:20
ダイテル立ち読んできたけどその他大勢のC入門書とあまり変わらない感じ
C実践プログラミングとかエキスパートCプログラミングとかの方がユニークで良い感じ
0172デフォルトの名無しさん2010/10/26(火) 17:34:52
エキスパートは入門書じゃないだろjk
0173デフォルトの名無しさん2010/10/26(火) 17:43:17
いくら知識溜め込んでも、発揮できなきゃそいつは役立たずなんだよ。
口だけプログラマーは腐るほどいっぱいいるんだ。
0174デフォルトの名無しさん2010/10/26(火) 17:47:26
あ?俺のことか?
0175デフォルトの名無しさん2010/10/26(火) 17:52:57
>>173
俺はお前を許さない
0176デフォルトの名無しさん2010/10/26(火) 18:28:33
>>175
で?
0177デフォルトの名無しさん2010/10/26(火) 18:29:00
>>175
あ?図星だったんですか?
君は俺を許さないんじゃなくてきっと君自身を許してないんだと思うよ^^
0178デフォルトの名無しさん2010/10/26(火) 18:29:54
ネタにマジレスかっこ悪い
0179デフォルトの名無しさん2010/10/26(火) 18:57:47
そんなことはみんな知ってるし聞いてない。
0180デフォルトの名無しさん2010/10/26(火) 19:07:04
つうか昼間っからこんなとこでくだ巻いているようじゃお前らどうせ仕事も友達も金もないだろ。
0181デフォルトの名無しさん2010/10/26(火) 19:20:36
まあ仕事にしてないから役立たずとまでは言わん。
フリーウェアにはお世話になってるし、日曜プログラマーも大いに結構。

つまり、実践しろってことだ。勝手ツールの一つでも作ったほうがマシ。
0182デフォルトの名無しさん2010/10/26(火) 19:25:37
急に弱腰だなw
0183デフォルトの名無しさん2010/10/26(火) 20:02:38
この流れだと、実力も伴ってる俺は口出しづらいな
なんかごめん
0184デフォルトの名無しさん2010/10/26(火) 22:49:48
すでに>>173の書き込みは夕方だ
0185デフォルトの名無しさん2010/10/26(火) 22:58:10
>>184
>夕方だ

ばかじゃね。子供じゃあるまいし。
「夕方だ」笑うw。
「17:43:17」<-どう見てもヒマ人だろ
0186デフォルトの名無しさん2010/10/26(火) 23:00:48
月〜金の学校いってるのはわかったから
0187デフォルトの名無しさん2010/10/26(火) 23:01:22
うん17時はまだ昼間だね
0188デフォルトの名無しさん2010/10/26(火) 23:02:18
大学生だと別に昼間でもおかしくないが
0189デフォルトの名無しさん2010/10/26(火) 23:02:44
ひょひょっ
0190デフォルトの名無しさん2010/10/26(火) 23:03:21
>>188
あ?ここのスレに大卒がいるわけ無いだろ
大学での常識を持ち出すな
0191デフォルトの名無しさん2010/10/26(火) 23:04:35
5時に仕事終わります
0192デフォルトの名無しさん2010/10/26(火) 23:05:20
>>191
どんだけブラックだよ
0193デフォルトの名無しさん2010/10/26(火) 23:05:22
朝も昼も夜もヒマなニートばっかりだもんな。
妄想癖があり自分がスーパーハッカーだと思い込んでる人間のクズども。
0194デフォルトの名無しさん2010/10/26(火) 23:07:41
友達もいない
仕事もない
金もない
彼女もいない
一日PCにかじりついて
C言語の妄想に浸る
人間の屑どもの吹きだまり
0195デフォルトの名無しさん2010/10/26(火) 23:10:09
どうだお前ら自分の将来が不安だろ。
誰もお前らのことなんて必要としてないみたいだぞ。
2ちゃんだけが自分の存在意義を確認する場か?
寂しい人生だなぁ。
まずは仕事にでも就けや。
0196デフォルトの名無しさん2010/10/26(火) 23:13:01
仕事しているなら貴重な時間をこんなところで潰す人って…
0197デフォルトの名無しさん2010/10/26(火) 23:13:31
元気出しなよ〜。
たとえC言語のキャリアが妄想だとしても
何か別の才能を生かす場がきっとそのうち見つかるさ。
0198デフォルトの名無しさん2010/10/26(火) 23:13:39
はぁ.....
0199デフォルトの名無しさん2010/10/26(火) 23:20:15
むしろここって学生ばっかだろ
社会人にもなって入門者用の質問スレにいるって
0200デフォルトの名無しさん2010/10/26(火) 23:21:57
「社会人」て言い方がそもそも学生かニート
0201デフォルトの名無しさん2010/10/26(火) 23:23:49
社会人は自分等のことを社会人とは言わんな
0202デフォルトの名無しさん2010/10/26(火) 23:24:31
>>200
じゃあなんて言うんだ
普通に社会人ですって言ってるが
0203デフォルトの名無しさん2010/10/26(火) 23:26:01
>>202
言わねーよ。
0204デフォルトの名無しさん2010/10/26(火) 23:26:41
俺も使ってるな
0205デフォルトの名無しさん2010/10/26(火) 23:26:50
普通は無職っていうんだぞ
0206デフォルトの名無しさん2010/10/26(火) 23:27:05
>>203
お前はいつもニートですって言ってるから言わないよね
0207デフォルトの名無しさん2010/10/26(火) 23:28:44
サラリーマンとか会社員とかお役人とかお医者とか
まず自分の属性で呼ぶよな。
でひっくるめていうなら大人。
学生とかニートのことは子供。
0208デフォルトの名無しさん2010/10/26(火) 23:31:56
社会人て特殊な場面でしか言わないわな。
学生気分の抜けない奴に「社会人にもなって」とは言うが

誰かにアンタは何?と問われて自分は社会人だとは言わない。
大概、会社員です。とか教師です。とか公務員です、というふうに職を名乗る。
0209デフォルトの名無しさん2010/10/26(火) 23:32:49
なんでスレのやつに自分の仕事教えなきゃならんのだ
ばっかじゃねーの
0210デフォルトの名無しさん2010/10/26(火) 23:32:55
んーおれも社会人ですって答えるときあるな
0211デフォルトの名無しさん2010/10/26(火) 23:33:51
「仕事してんのに忙しくないの?」←いわゆる非学生の台詞。
「社会人なのに忙しくないの?」←いわゆる学生・ニートの台詞。
0212デフォルトの名無しさん2010/10/26(火) 23:35:34
いやいや社会人っていうのは使うだろ
なんで自分のことを表すのに社会人を使うかどうかの議論になってんだ
0213デフォルトの名無しさん2010/10/26(火) 23:36:29
学生のくせに「社会人っていうのは使うだろ」とかワロス
0214デフォルトの名無しさん2010/10/26(火) 23:36:40
>>211
「非学生」より「社会人」のほうが自然に思えるが。
0215デフォルトの名無しさん2010/10/26(火) 23:37:53
勤め人は安易に自分の事を社会人なんて言わないよ。
自分にそう言うだけの社会性があるのかを常に自問してるからね。
子どもにはわからないだろうけど。
0216デフォルトの名無しさん2010/10/26(火) 23:38:49
大きな声をだしてスレタイを読んでみましょう
0217デフォルトの名無しさん2010/10/26(火) 23:39:39
>>213
社会人にもなって〜とか言わないの?
0218デフォルトの名無しさん2010/10/26(火) 23:40:34
学生も自分のこというのに学生とは言わない
0219デフォルトの名無しさん2010/10/26(火) 23:41:00
>>216
「ニートのことなら俺に聞け(キリッ Part72」

72000レスも無駄な文字列積み上げといて「大人」モナにもあったもんじゃねーと。
グダグダ言わずに明日ちゃんとハローワーク行けよ。
0220デフォルトの名無しさん2010/10/26(火) 23:42:03
>>215
社会人にもなって〜とか言わないの?
0221デフォルトの名無しさん2010/10/26(火) 23:42:09
>>215
それはわかんねーなw
お前は馬鹿だから馬鹿って名乗ることを認めるよ
0222デフォルトの名無しさん2010/10/26(火) 23:42:31
>>218
ようクズ人間!
0223デフォルトの名無しさん2010/10/26(火) 23:43:35
>>221
わからねーならレスしなくていいからすっこんでろよクズ。
0224デフォルトの名無しさん2010/10/26(火) 23:44:22
学生は自分を学生というし
生活費を稼ぐ仕事をしている者は社会人という
職にあぶれている者は無職という

自意識がどうのではなく相手にわかりやすく表現する配慮だよ
0225デフォルトの名無しさん2010/10/26(火) 23:45:07
>>220
スレ立てるまでもない質問はここで 108匹目
http://hibari.2ch.net/test/read.cgi/tech/1287477677/
0226デフォルトの名無しさん2010/10/26(火) 23:46:09
>>224
お前の存在自体がわかりにくいのにな。
0227デフォルトの名無しさん2010/10/26(火) 23:46:26
>>225
なんていうの?
0228デフォルトの名無しさん2010/10/26(火) 23:49:24
今は生涯学習の時代だから
0229デフォルトの名無しさん2010/10/26(火) 23:49:47
>>227
>なんていうの?

↑こういうくだらない質問はこのスレの範疇じゃないな。
0230デフォルトの名無しさん2010/10/26(火) 23:50:40
>>229
いやお前に聞いてんだけど?
0231デフォルトの名無しさん2010/10/26(火) 23:51:04
>>224
>職にあぶれている者は無職という

というより無色だな。
消えかかってるぞ。
0232デフォルトの名無しさん2010/10/26(火) 23:51:46
>>230
アホか。そんなつまらんこと知りたければググれカス。
0233デフォルトの名無しさん2010/10/26(火) 23:54:14
>>232
いやお前がどうかって聞いてんだけど?
社会人にもなって〜とかじゃなくてなんて言ってるの?
0234デフォルトの名無しさん2010/10/26(火) 23:55:48
社会人にもなってそんなことも知らんのか
0235デフォルトの名無しさん2010/10/26(火) 23:55:58
社会人は社会人って言わないって新説が誕生した。
0236デフォルトの名無しさん2010/10/26(火) 23:56:59
だから学生も学生って言わないって
0237デフォルトの名無しさん2010/10/26(火) 23:56:59
>>233
自演乙。つまんねーよ。
0238デフォルトの名無しさん2010/10/26(火) 23:58:00
>>237
?
なんて言ってるの?
0239デフォルトの名無しさん2010/10/26(火) 23:59:03
なんだ自作自演か。
ま、そんなことだろうと思ったよ。
0240デフォルトの名無しさん2010/10/26(火) 23:59:38
社会人としての常識
0241デフォルトの名無しさん2010/10/27(水) 00:00:20
高級言語を扱う低級人間
0242デフォルトの名無しさん2010/10/27(水) 00:02:13
>>239
いやお前だろ?
自演ってことにして終わらそうとするな
0243デフォルトの名無しさん2010/10/27(水) 00:03:13
>>242
どっちでもいいよ。
どちらにせよ相手にしてるお前も同類。
0244デフォルトの名無しさん2010/10/27(水) 00:04:08
>>243
いやお前だろ?
0245デフォルトの名無しさん2010/10/27(水) 00:06:42
いや俺だから
0246デフォルトの名無しさん2010/10/27(水) 00:07:39
>>244,245

なにこのヒト
おかしいのと違う?
0247デフォルトの名無しさん2010/10/27(水) 00:08:23
>>246
お前は違うな
0248デフォルトの名無しさん2010/10/27(水) 00:08:39
>>246
俺だろ俺俺はおかしい
0249デフォルトの名無しさん2010/10/27(水) 00:13:13
学生で起業してるのは、、、学生か。
0250デフォルトの名無しさん2010/10/27(水) 00:14:56
起業家は自分のこと起業家とは言わない
0251デフォルトの名無しさん2010/10/27(水) 00:15:11
しまいにゃ独り言かよ
0252デフォルトの名無しさん2010/10/27(水) 00:16:31
サッちゃんは自分のとこをサチ子とは呼ばない
0253デフォルトの名無しさん2010/10/27(水) 00:17:37
サセ子
0254デフォルトの名無しさん2010/10/27(水) 00:22:24
カリスマ経営者っていうのかな?
0255デフォルトの名無しさん2010/10/27(水) 00:22:49
結局、学生かどうかの判定をするなら
話題について来れるかでふるいにかけるのが一番てことだな
0256デフォルトの名無しさん2010/10/27(水) 00:25:28
リーナスは学生の時にLinux作ったしな
0257デフォルトの名無しさん2010/10/27(水) 00:27:03
ほりえもんも学生の時IT企業作ったしな
0258デフォルトの名無しさん2010/10/27(水) 00:27:51
ビル・ゲイツは学生のときにインタプリタのBASIC作ったしな
0259デフォルトの名無しさん2010/10/27(水) 00:29:56
俺も学生の時アルバイトしてたしな
0260デフォルトの名無しさん2010/10/27(水) 00:35:02
ニートですが何か?
0261デフォルトの名無しさん2010/10/27(水) 00:35:32
ニートは勝ち組
0262デフォルトの名無しさん2010/10/27(水) 00:36:43
俺も学生の時論文が雑誌に乗った同級生がいたしな
0263デフォルトの名無しさん2010/10/27(水) 00:38:34
友達の友達がアルカイダ
そんなわけ(ry
0264デフォルトの名無しさん2010/10/27(水) 00:39:53
7人介せばだれとでも知り合いになれるんだっけ?
誰かプログラムつくって検証して
0265デフォルトの名無しさん2010/10/27(水) 00:40:51
>>263
             ∧..∧ 
            (´・ω・`)  あるかいな!
           cく_>ycく__) 
           (___,,_,,___,,_)  ∬
         彡※※※※ミ  旦
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
   \   ドッ!!     /  \ ワハハ! /
     \          /      \    ∞
   l|||||||||||||| ∩,,∩ ∩,,∩  ∩,,∩ ミ∩ハ∩彡
   (,    )(,,    )    ,,)(    )(    )
0266デフォルトの名無しさん2010/10/27(水) 00:42:35
関数化について質問します
エラーが起きるのですが、どこが悪いのかわかりません
教えてください、お願いします

#include<stdio.h>

void text ( char );

void main(void)
{
  char mojit;

  text(moji);
}

void text ( char Wait )
{
printf("文字を表示",moji);
}
0267デフォルトの名無しさん2010/10/27(水) 00:43:21
すいません

void text ( char moji )
{
printf("文字を表示",moji);
}
0268デフォルトの名無しさん2010/10/27(水) 00:44:28
C++はわからない
0269デフォルトの名無しさん2010/10/27(水) 00:45:01
>>266
>どこが悪いのかわかりません

お前の頭。(それと顔)
0270デフォルトの名無しさん2010/10/27(水) 00:45:45
> printf("文字を表示",moji);
なにこれ?
0271デフォルトの名無しさん2010/10/27(水) 00:46:30
>>266
>char mojit;
>text(moji);
↑変数名が違う

>printf("文字を表示",moji);
↑%cを入れろ
0272デフォルトの名無しさん2010/10/27(水) 00:47:00
釣りにしてもヘタクソだが相手にしたら負け
0273デフォルトの名無しさん2010/10/27(水) 00:47:26
waitどこで使うん?
mojiをどこで使ってるん?
0274デフォルトの名無しさん2010/10/27(水) 00:58:46
どんだけ寂しがりやなんだよw
0275デフォルトの名無しさん2010/10/27(水) 01:15:45
void main → int main
0276デフォルトの名無しさん2010/10/27(水) 01:19:01
>>266
charのmojitに何も代入されてないな
0277デフォルトの名無しさん2010/10/27(水) 07:27:41
俺の友達はAKBのオーディション受けたからな

あと俺の友達はカツーンの亀梨とメールしてるからな

俺の友達の友達はギャングだしな

え?俺?・・・

・・・
0278デフォルトの名無しさん2010/10/27(水) 09:47:32
アンチウイルスソフト作りたいです
アドバイスください
0279デフォルトの名無しさん2010/10/27(水) 09:53:48
OS自作したらウィルスには感染しないよ
0280デフォルトの名無しさん2010/10/27(水) 15:51:57
ふっほっ
0281デフォルトの名無しさん2010/10/27(水) 16:02:01
ふっふっ
0282デフォルトの名無しさん2010/10/27(水) 16:12:10
>>277
アルカイダだろ
0283デフォルトの名無しさん2010/10/27(水) 17:10:56
はっほっひっ
0284デフォルトの名無しさん2010/10/27(水) 17:48:55
ここが噂の基地外が集まるスレですか
0285デフォルトの名無しさん2010/10/27(水) 18:38:26
一人増えたw
0286デフォルトの名無しさん2010/10/27(水) 20:16:16
推薦図書スレほどじゃねーな。
0287デフォルトの名無しさん2010/10/27(水) 20:57:41
ロベール教団だからな
0288デフォルトの名無しさん2010/10/27(水) 22:41:32
C++にはstd::stringがありますが、C言語には文字型は無いのですか?
0289デフォルトの名無しさん2010/10/27(水) 22:45:10
はい
0290デフォルトの名無しさん2010/10/27(水) 22:50:14
いいえ
0291デフォルトの名無しさん2010/10/27(水) 22:53:38
charを文字型と呼ぶとちゃんと定められています
文字列型は無いがな
0292デフォルトの名無しさん2010/10/27(水) 22:55:47
>>>289-290
ありがとうございました
0293デフォルトの名無しさん2010/10/27(水) 23:53:21
もうMFCとboostなしじゃ生きられない。
好きだったけどさよなら。
効率を重視しないといけないので、お前とはやっていけないんだ。
中年プログラマと仲良くな。
今までの資産のある彼らとなら、お前は後50年は戦える。
達者でな。
0294デフォルトの名無しさん2010/10/28(木) 01:25:14
iPhoneはObjective-C
マッカーじゃないとな
0295デフォルトの名無しさん2010/10/28(木) 01:30:59
C と Smalltalk をなりふりかまわず実装多重継承してできてきたアレ
0296デフォルトの名無しさん2010/10/28(木) 01:58:42
CとC++で気をつけなければならない仕様ってなんですか?
0297デフォルトの名無しさん2010/10/28(木) 02:02:09
>>296
お前が今まで主に何の言語を触っていたかによって全然アドバイスが違う
0298デフォルトの名無しさん2010/10/28(木) 02:09:48
Bです
0299デフォルトの名無しさん2010/10/28(木) 02:13:52
B?本当か?今の時代にそんな奴がいるわけないだろJK
0300デフォルトの名無しさん2010/10/28(木) 02:26:42
俺はCまで済ませた
0301デフォルトの名無しさん2010/10/28(木) 02:37:54
じゃあ俺はAからだな
0302デフォルトの名無しさん2010/10/28(木) 02:49:02
マジレスするとNewBから。
0303デフォルトの名無しさん2010/10/28(木) 02:49:55
>>301
童貞乙
0304デフォルトの名無しさん2010/10/28(木) 02:51:45
>>303
>>298や>>302にも言えよ!
0305デフォルトの名無しさん2010/10/28(木) 02:53:50
>>304
そうかっかすんなってw
童貞乙
0306デフォルトの名無しさん2010/10/28(木) 02:56:48
じゃあDは何なんだよ
0307デフォルトの名無しさん2010/10/28(木) 04:02:41
:-D
0308デフォルトの名無しさん2010/10/28(木) 08:39:38

すみません。
ここでいいのか分からないけれど質問させてください。

stdoutのバッファ容量ってそのPCに積んでいるメモリ容量に左右されるんでしょうか?

いまCで書いたプロセスと別言語で書いたプロセスをつなぐために
標準出力を使用してバイナリデータを送っているのですが、
テストしてみたところ、stdoutから送り出せるバッファ容量の最大がPCによって違うように見受けられます。
そのせいでCから送り出したデータを、受け取る側で即座に裁ききれない場合に
謎のゴミデータが入ってきてしまっているようなのです。

こういう場合にstodoutの最大容量を変更する方法って何かありますか?
当方はWindowsXPを使用しています。

よろしくお願いします。

0309デフォルトの名無しさん2010/10/28(木) 08:45:48
パイプに謎データが入ることなんてない
0310デフォルトの名無しさん2010/10/28(木) 09:17:08
ノンブロッキングモードで使っていて、E_WOULDBLOCKが返ってきてるのを見逃しているとか。
0311デフォルトの名無しさん2010/10/28(木) 10:07:39
上地のCMうけるー
0312デフォルトの名無しさん2010/10/28(木) 11:15:30
readの戻り値みてないだけちゃうんか
0313デフォルトの名無しさん2010/10/28(木) 11:38:53
それだ!
0314デフォルトの名無しさん2010/10/28(木) 11:56:25
>>308
入出力バッファのサイズは規格で決められていない。つまり環境依存。
変更したいならsetvbuf()を使え。
ただし既に言われてるように、問題はおそらくバッファサイズと無関係だろう。
0315デフォルトの名無しさん2010/10/28(木) 12:04:26
http://ideone.com/UoRMX
人数分の名前、年齢、性別を入力させて(人数は何人でも)、それを表示していくと言うプログラムなんですが
関数にうまく値を渡せていないみたいです。なぜエラーが出るのかよくわかってないです……
ご教示お願いします

0316デフォルトの名無しさん2010/10/28(木) 12:16:36
>>315
とりあえずmallocのsizeofがおかしい
0317デフォルトの名無しさん2010/10/28(木) 12:20:08
>>315
mainの
data = (value*)malloc(sizeof(value*) * 10);
を
data = (value*)malloc(sizeof(value) * 10);

input
の

iが0で初期化されてないからおかしい

scanf("%d",data[i].age);
を
scanf("%d",&data[i].age);

そんな方法でメモリ拡大しちゃだめ
0318デフォルトの名無しさん2010/10/28(木) 12:27:11
mallocって戻り値書かなくても良いのに。
0319デフォルトの名無しさん2010/10/28(木) 12:35:05
<<309 <<312
戻り値のサイズはSTARTとENDのコマンド仕込んで確認してるんですが、
メモリが少ないマシンだとSTARTとENDの間が不定なサイズが返ってくるんですよね...。

<<310 <<314
setvbuf、こんな関数があったとは。
ちょっとsetvbuf使ってやってみたいと思います。
ありがとうございます!
0320デフォルトの名無しさん2010/10/28(木) 14:03:00
>>318
>>319
意味不明
0321デフォルトの名無しさん2010/10/28(木) 16:28:07
ほっふっ
0322デフォルトの名無しさん2010/10/28(木) 16:42:25
>>315
俺も突っ込んで良い?

input () で確保した構造体配列が溢れたときに realloc() してるけど、同じサイズで realloc() してるから意味無いよ
そして入力した個数を main() に返してないから output() では何個表示すべきか判らないから3個表示してる
採点するとかなり厳しい結果になりそうだね

普通に考えると count や size も main() が知るべきだから input( value* data, int* pcount, int* psize ) とするべきだろうね
size に関しては main() が知る必要は無いから input() に管理を任せても良いが、その場合は初回の malloc() も input() で
行なうべきだろう
当然 output( value* data, int count ) になるね

余談だが、C++使えるんなら value の管理クラスを作成するのが一番望ましい
class value_array {
private:
 value* data;
 int size;
 int count;
public:
 value_array();
 ~value_array();
 void add( value* indata );
 int getCount( void );
 const value* getData( int index );
};
こんな感じで良いと思う


0323デフォルトの名無しさん2010/10/28(木) 19:03:56
>>315
構文エラーと型が違うって意味の
コンパイルエラーになってる理由が分からないんだよね?
0324デフォルトの名無しさん2010/10/28(木) 19:57:44
「ABC」と書かれているFileをリードする時に
fseekを使わないで直接「C」「B」「A」の順番で読み込む方法(関数)ってありますか?
0325デフォルトの名無しさん2010/10/28(木) 20:16:35
>>318
mallocをキャストする意味がないって意味?
0326デフォルトの名無しさん2010/10/28(木) 21:04:05
>>324
FileMappingやmmapを使うとか?条件に合うのかしらんけど
0327デフォルトの名無しさん2010/10/28(木) 21:06:45
恐らくFileはブロックデバイスなんだろうけど、
ブロックデバイスはブロック単位で読み出すから、ブロック内の読み出し順を制御するのはOS上からは難しいだろうね。
0328デフォルトの名無しさん2010/10/28(木) 21:16:54
ふっふっ
03293152010/10/29(金) 06:37:22
>>323さんの言うとおり、なぜエラーになるのかわからなかったんです
一回完成したんですけど、入力された人数分表示されないんで(3人目で止まる)
なので>>322さんのを参考にまた書き換えてみたんですが、これまた上手くいかなくて……
http://ideone.com/6esth
どうすればいいでしょうか?
0330デフォルトの名無しさん2010/10/29(金) 07:48:21
>>329
突っ込んでどうなるレベルじゃないな
コンパイルエラーくらいは潰してから人に聞いた方が君の為になると思うよ

http://ideone.com/CiTYy
03313292010/10/29(金) 08:14:15
>>330
関数へのポインタ変数の渡し型がわかっていませんでした。
次からはコンパイルエラーは自分で直すようにします
ありがとうございます
0332デフォルトの名無しさん2010/10/29(金) 11:33:35
5桁の自然数でどの桁の数字も異なる自然数かどうかの判定ってどうすればいいですか?
あるいは最初からどの桁も異なる5桁の自然数を作れますか?
0333デフォルトの名無しさん2010/10/29(金) 11:56:12
ひとつのプログラムでコンソールを二つ同時に開くにはどうすれば良いんでしょうか?
0334デフォルトの名無しさん2010/10/29(金) 11:58:57
>>333
コンソールは、 1つのプロセスにつき1つだけ割り当てることができます。
このため、 プロセスがすでにコンソールを持っている場合には、 AllocConsole関数は失敗します。
0335デフォルトの名無しさん2010/10/29(金) 12:05:22
>>332
文字列にして桁同士を比較するんじゃだめなの?10回の比較で終わるよ

>>333
環境依存な話になるけど windows だったらスレッド作って system() でドス窓を起動すれば良いんじゃね?
0336デフォルトの名無しさん2010/10/29(金) 12:09:11
このスレレベル低すぎー
0337デフォルトの名無しさん2010/10/29(金) 14:51:57
おまえのいう「プログラム」の単位によるな。
0338デフォルトの名無しさん2010/10/29(金) 17:00:37
くっぴっ
0339デフォルトの名無しさん2010/10/29(金) 17:16:16
>>336
初心者スレに何期待してんの
0340デフォルトの名無しさん2010/10/29(金) 18:51:21
>>336
全部の質問に答えてから言えよ。カス。
0341デフォルトの名無しさん2010/10/29(金) 19:22:08
>>340
解答している人に言ったんですー
0342デフォルトの名無しさん2010/10/29(金) 19:58:33
回答じゃね?
0343デフォルトの名無しさん2010/10/29(金) 20:00:43
お前には重箱の隅という渾名をやろう
0344デフォルトの名無しさん2010/10/29(金) 20:23:40
それだと突つかれる側のことだろ。不適切。
0345デフォルトの名無しさん2010/10/29(金) 20:40:05
>>332
判定は10で割った商と余りを使って5桁分の数字を取り出しつつ、
出現した数字をビット配列にでも入れて重複判定すればOK。
生成は5桁の数字と1対1で対応するから9x9x8x7x6=27126とおりで
0-27125の数字を乱数で生成、実際の数字は表示するときに計算すればOK。
0346デフォルトの名無しさん2010/10/29(金) 21:30:13
>>329
プログラムが手に負えなくなったら、オーソドックスなアプローチですが、プログラムをすご〜く単純な部品に分けてみてはどうでしょうか?

たとえば、『名前、年齢、性別』を記録したり表示したりする”モノ”を、たとえば”プロフィールのカード”と考えてみました。
このプロフィールカードに対して行える命令としては、”記録、表示、カード作る、カード消す”の4つだけです。すごく単純な機能だけに絞ってみました。

(『カード全体を見て、新たに新規カードを増やす』のような、全体の処理は、profile.cは行いません。 profile.c が行うのは、あくまで一枚の PROFILE_CARD への読み書き・生成削除、だけです)


profile.h
http://codepad.org/ziwRlgzl

profile.c
http://codepad.org/BB6Js1aD

profile_test.c
http://codepad.org/HRs4gT4b


この3つのファイルをコンパイル・リンクして、実行ファイルを作ります。
gcc -o aaa profile_test.c profile.c

aaa という名前の実行ファイルが作られます。



カード全体を増やしたり減らしたりする処理は、profile.c とは別のプログラムを書いて、そこに処理を任せるように役割分担をハッキリさせれば、
それぞれの処理も単純を保てるだろうから、わかり易くて書き易いと思います。(バグの場所も特定しやすくなるかも??)
0347デフォルトの名無しさん2010/10/29(金) 21:40:46
ほっほつ
0348デフォルトの名無しさん2010/10/30(土) 00:45:44
double x=10.5;
printf("%.lf",x);
の結果が11になるんだけど四捨五入してるの?
あと10.50000...を必要小数点だけ表示するにはどうするの?
0349デフォルトの名無しさん2010/10/30(土) 00:49:29
>>348
必要な桁数なんてお前以外には分からないだろ
0350デフォルトの名無しさん2010/10/30(土) 00:49:45
必要小数点って日本語でどういう意味?
0351デフォルトの名無しさん2010/10/30(土) 00:59:52
俺が今作った
>>349
でも%.2lfとかでやると整数部は必要な桁数表示になるよ?
てかprintfだと%f %lfどっち使うのが正しいんだ
0352デフォルトの名無しさん2010/10/30(土) 01:05:47
>>348
double x = 10.5;
int hituyou = 5;
printf("%.*lf", hituyou, x);
0353デフォルトの名無しさん2010/10/30(土) 01:43:19
エキスパートCって入門書とポインタ完全制覇読んだぐらいでもおk?
0354デフォルトの名無しさん2010/10/30(土) 01:48:08
おk
読んでなくても問題ない
0355デフォルトの名無しさん2010/10/30(土) 02:00:31
>>351
C89なら%fが正しい、%lfの場合の動作は未定義、
C99ならどっちでもおk。


可変長引数のfloatはdoubleに格上げされるから、
floatとdoubleを区別をする必要はないからね。
0356デフォルトの名無しさん2010/10/30(土) 03:59:37
>>354
早速頼んで見る。
どうもありがとう。
0357デフォルトの名無しさん2010/10/30(土) 05:37:20
Kernighan 先生のプログラミング作法は必携の書だから買っとけ。
0358デフォルトの名無しさん2010/10/30(土) 10:35:46
いまだに人類の月面着陸が捏造だと信じているやつがいるのに驚き
0359デフォルトの名無しさん2010/10/30(土) 15:33:32
シグナルハンドラを作っているのですが、
ハンドラ内では、新しいシグナルが来たときのことを
想定して書かなければいけないのでしょうか?(排他処理は別として)
それとも、シグナル毎にスタックが積まれるのでしょうか?
要はシグナルのとりこぼしが無いように書きたいです
環境はVMware 2.5.3 + OpenBSD 4.6です
0360デフォルトの名無しさん2010/10/30(土) 16:33:49
>>359
その通り
処理中に次のシグナルが来たら、別タスクでハンドラが同時進行することになる
普通はハンドラで自前のスタックに積んですぐ終了、スタックの処理は別タスクにする
0361デフォルトの名無しさん2010/10/30(土) 16:51:58
>>359
BSDだと、シグナルハンドラが呼ばれたところでそのシグナルはマスクされ、
シグナルハンドラが終わるまでに同じシグナルが来てもペンディングされる、と思う
0362デフォルトの名無しさん2010/10/30(土) 17:13:43
>>360>>361
なるほど、BSDだけちょっと違うのですか
いずれにしても、シグナルハンドラをさっさと終了するように
書いた方が良いということですね
霧が晴れたようです
ありがとうございました
0363デフォルトの名無しさん2010/10/30(土) 22:22:04
>>357
どんな本かは分からないけど、どうもありがとう。
0364デフォルトの名無しさん2010/10/31(日) 00:22:09
i++より++iの方が速いのはなぜ?
0365デフォルトの名無しさん2010/10/31(日) 00:25:40
>>364
C言語の範囲では変わらないんじゃね
0366デフォルトの名無しさん2010/10/31(日) 00:31:12
>>364
そら式を評価する前に実行されるからだろ常識
0367デフォルトの名無しさん2010/10/31(日) 00:34:42
#include<stdio.h>

main()
{
int k[12]=
{1,2,3,4,5,6,7,8,9,10,11,12};

int day
day=k[11];

printf("%d",day);

}


配列の勉強してるんだがエラーがでてしまう

Output:
1
2
3
4
5
In function 'main':
Line 9: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'day'
Line 9: error: 'day' undeclared (first use in this function)
Line 9: error: (Each undeclared identifier is reported only once
Line 9: error: for each function it appears in.)

直し方おしえてください
0368デフォルトの名無しさん2010/10/31(日) 00:37:20
int main(void)
int day;
0369デフォルトの名無しさん2010/10/31(日) 00:37:35
まずセミコロンちゃんがないねえ
0370デフォルトの名無しさん2010/10/31(日) 00:40:14
void mainも許せないが何も書かないのはもっと許さない
0371デフォルトの名無しさん2010/10/31(日) 00:43:21
#include<stdio.h>

int main(void)
{
int k[12]=
{1,2,3,4,5,6,7,8,9,10,11,12};

int day;
day=k[11];

printf("%d",day);

return 0;
}
0372デフォルトの名無しさん2010/10/31(日) 00:56:44
char *consumes(char *s, int n, ...){
va_list list;
int i;

va_start(list, n);

for(i = 0; i < n; i++){
s = (*va_arg(list, char (*)(char*)))(s);

if(s == NULL){
return NULL;
}
}

va_end(list);

return s;
}

ワーニングを吐きます.助けてください.
0373デフォルトの名無しさん2010/10/31(日) 00:57:34
ひとつ、知っておくと良いことを教えてあげる。

Cコンパイラのエラーメッセージは、解析不能の箇所が現れた行番号を表示する。
そして、C言語プログラム自体には、行による区切りは意味を持たないため
本当にエラーメッセージが表示している行に問題がある場合のほかに
エラーメッセージの行の直前の行に問題がある場合がある。
(実際には、それ以外の箇所の場合もある)

>>367の場合、エラーメッセージは9行目にエラーがあると言ってるが、
実際には、8行目の最後にエラーの原因がある。
0374デフォルトの名無しさん2010/10/31(日) 00:59:21
そんなことはみんな知ってるし訊いてない。
0375デフォルトの名無しさん2010/10/31(日) 01:00:16
まさかここまでこのコピペが当てはまるとはな
0376デフォルトの名無しさん2010/10/31(日) 01:02:13
ちゃんと合ってて逆にコピペの意味をなしてないな
0377デフォルトの名無しさん2010/10/31(日) 01:05:54
>>374-376

>>367に教えてるんでしょ?
>>367が知ってるとは思えないけど?

あなたが知っているかどうかなんて、関係ないんじゃないかな。
0378デフォルトの名無しさん2010/10/31(日) 01:09:29
そんなことはみんな知ってるし聞いてない
0379デフォルトの名無しさん2010/10/31(日) 01:09:38
×ワーニング
○ウォーニング
0380デフォルトの名無しさん2010/10/31(日) 01:12:22
>>367もそんなことは聞いてない
0381デフォルトの名無しさん2010/10/31(日) 01:12:51
ウヮァーナン
0382デフォルトの名無しさん2010/10/31(日) 01:15:29
なにこのいかにも週末な流れ
0383デフォルトの名無しさん2010/10/31(日) 01:15:56
どんな流れなのか詳しく
0384デフォルトの名無しさん2010/10/31(日) 01:16:39
>>379
異なる自然言語間の不完全な写像に○も×もねーよ
0385デフォルトの名無しさん2010/10/31(日) 01:17:17
うぉーにんぐ
わーにんぐ
0386デフォルトの名無しさん2010/10/31(日) 01:20:25
×ワーニング
○ウォーニング
0387デフォルトの名無しさん2010/10/31(日) 01:22:03
ウィニング
0388デフォルトの名無しさん2010/10/31(日) 01:22:07
確かにいかにも終末的な流れだな
0389デフォルトの名無しさん2010/10/31(日) 01:22:52
ウォンテッド
0390デフォルトの名無しさん2010/10/31(日) 01:26:24
質問なんですがファイルの中の単語だけを抽出するプログラムを作りたいのですが空白の部分はどうしたら良いんでしょうか?
0391デフォルトの名無しさん2010/10/31(日) 01:26:59
perl使う
0392デフォルトの名無しさん2010/10/31(日) 01:27:08
いまだにワーニングとかウーニングとか言ってるやついるの。
0393デフォルトの名無しさん2010/10/31(日) 01:27:08
飛ばす
0394デフォルトの名無しさん2010/10/31(日) 01:28:04
wantedはワンテッドでもウォンテッドでもいいし
03953902010/10/31(日) 01:28:28
マジレスなんでよろしくお願いします。
0396デフォルトの名無しさん2010/10/31(日) 01:29:42
>>395
空白以外の部分はどう読み込んでるの?
0397デフォルトの名無しさん2010/10/31(日) 01:30:24
ウォアニングだろ
0398デフォルトの名無しさん2010/10/31(日) 01:30:34
>>390
単語の定義は?
0399デフォルトの名無しさん2010/10/31(日) 01:31:01
>>390
普通に読んで
0x20と0x8140と\tを読み飛ばせばいいじゃない
0400デフォルトの名無しさん2010/10/31(日) 01:32:43
>>390
そういうのをどうするか決めるのが設計だろ。
自分で決めれるなら好きにすればいい。
0401デフォルトの名無しさん2010/10/31(日) 01:35:54
'('とか')'とか','とか'-'とかどうするの
0402デフォルトの名無しさん2010/10/31(日) 01:39:25
>>401
質問者に質問しているのか?お前が質問者なのか?
0403デフォルトの名無しさん2010/10/31(日) 01:40:05
>>401
アルファベットとそれ以外で判断すればいいんじゃね。
04043902010/10/31(日) 01:40:54
getc(fp)で読み込んでisalnumで判断するようにします。分かりにくい質問でしたが回答ありがとうございました。
0405デフォルトの名無しさん2010/10/31(日) 01:41:12
ctype.hにいろいろあるでしょ
0406デフォルトの名無しさん2010/10/31(日) 01:41:19
パールつこうた
0407デフォルトの名無しさん2010/10/31(日) 01:42:28
unixのコマンドつこうた
0408デフォルトの名無しさん2010/10/31(日) 01:42:46
lolってなに?
0409デフォルトの名無しさん2010/10/31(日) 01:43:14
万歳
0410デフォルトの名無しさん2010/10/31(日) 01:43:33
エロス
0411デフォルトの名無しさん2010/10/31(日) 01:45:25
それはそうと今日のダイハードはお前ら凄い活躍だったな。
0412デフォルトの名無しさん2010/10/31(日) 01:49:39
俺はスパハカだからな。
あれぐらい余裕だね
0413デフォルトの名無しさん2010/10/31(日) 01:57:05
そんなことはみんな知ってるし聞いてない
0414デフォルトの名無しさん2010/10/31(日) 01:59:04
>>372をお願いします
0415デフォルトの名無しさん2010/10/31(日) 02:01:49
なにやってんの?コメントかスタブ付け足してよ
0416デフォルトの名無しさん2010/10/31(日) 02:01:52
×ワーニング
○ウォーニング
0417デフォルトの名無しさん2010/10/31(日) 02:02:32
ウォーニングも書けよ
0418デフォルトの名無しさん2010/10/31(日) 02:03:49
×ウォーニング
○ウォーキング
0419デフォルトの名無しさん2010/10/31(日) 02:03:55
ワェーニング
0420デフォルトの名無しさん2010/10/31(日) 02:08:17
CとC++のenumの違いは?
0421デフォルトの名無しさん2010/10/31(日) 02:11:28
ガウォーク
0422デフォルトの名無しさん2010/10/31(日) 02:11:41
レイプぐらいでガタガタ抜かすな
犯すぞコラ
0423デフォルトの名無しさん2010/10/31(日) 02:13:13
誤爆した
0424デフォルトの名無しさん2010/10/31(日) 02:13:33
最悪の誤爆だな
0425デフォルトの名無しさん2010/10/31(日) 02:14:11
通報しますた
0426デフォルトの名無しさん2010/10/31(日) 02:14:40
うむ、よくやった
0427デフォルトの名無しさん2010/10/31(日) 05:09:13
変数名の中に変数名使うにはどうしたらいいですか?
0428デフォルトの名無しさん2010/10/31(日) 05:11:22
構造体の話?
0429デフォルトの名無しさん2010/10/31(日) 05:59:01
平方数かどうか判定するにはどうしたらいいですか?
0430デフォルトの名無しさん2010/10/31(日) 05:59:38
>>372
可変引数から関数ポインタを取得しようとしてるのかな?
va_arg() はマクロだから関数ポインタの様な途中に変数名が入る様な特殊な型表記に対応してないと思うよ
そもそも、char (*)(char*) この表記が type として許されるのかも疑問だけど

・横着しないで typedef で関数ポインタ型を定義する
・va_arg() の戻り値をいったんは変数に格納してから使用する(こっちは意味無いかもしれない)

この2点を直せば動かないかなぁ

蛇足だが、
typedef char (*MY_FUNC)( char* );
君のソースからするとこうなると思うけど、実行結果を s に代入してるから
typedef *char (*MY_FUNC)( char* );
が正しいと思うんだけどどうかな?
0431デフォルトの名無しさん2010/10/31(日) 08:36:39
>>429 sqrt(x)を四捨五入して二乗して元に戻るかじゃダメなの?
0432デフォルトの名無しさん2010/10/31(日) 08:49:28
>>429
int isSquare(int n)
{
int i, j;

for(i = 2; i * i <= n; i++) {
for(j = 0; n % i == 0; j++) n /= i;
if(j & 1) return 0;
}

return n == 1;
}
0433デフォルトの名無しさん2010/10/31(日) 09:28:49
>>372
7.15.1.1. にある
> 仮引数型は,その型のオブジェクトへ
> のポインタの型が,型の後ろに単に*を置くことによって得られる型名でなければならない。
という文言に違反している

ところでエラーではなく警告で済んでいるらしいが、
その警告を無視するとどうなるんだ?
0434デフォルトの名無しさん2010/10/31(日) 10:05:49
素数を求める計算をしようと以下のプログラムを書きました。
エラーが出ます、なぜでしょう。

#include <stdio.h>
#declare NUM 900000000

int main(void)
{
  int i,n;

  for(n=2; n<=NUM; n++){
    for(i=2; i<=n; i++){
      if(i == n){
        printf("%d¥n",n);
      }
      else if(n % i == 0){
        break;
      }
    }
  }
  return 0;
}
0435デフォルトの名無しさん2010/10/31(日) 10:08:52
declareってなんだよ
0436デフォルトの名無しさん2010/10/31(日) 10:13:36
>>435
#defineでしたすみません
0437デフォルトの名無しさん2010/10/31(日) 11:59:40
>エラーが出ます、なぜでしょう。
せっかくコンパイラが教えてくれてるのに無視かよ可哀想…
0438デフォルトの名無しさん2010/10/31(日) 12:00:58
>>437
どんなメッセージが出るって言うんだ?
うpしろ
0439デフォルトの名無しさん2010/10/31(日) 12:09:36
ああインデントに全角空白使っているのがダメ
0440デフォルトの名無しさん2010/10/31(日) 12:20:24
>>439
アンタ初心者?
2ちゃんでインデント表示するための工夫と見やすくするためのお前らへの思いやりだろw。
そんなことも知らんでム板にいるとは・・・。
バカ過ぎて笑える。
0441デフォルトの名無しさん2010/10/31(日) 12:21:25
>>440
いつもインデント無しでソースを書き散らして絡んでくる基地外だから相手にすんな。
0442デフォルトの名無しさん2010/10/31(日) 12:23:30
codepadかideone使えって言ってるだろ
0443デフォルトの名無しさん2010/10/31(日) 12:24:22
エラー起きねーじゃねーかカス
04443722010/10/31(日) 13:20:10
>>430 の最期に指摘してあるように型の表記を間違っていただけでした.サーセン
0445デフォルトの名無しさん2010/10/31(日) 13:24:06
> typedef *char(*MY_FUNC)(char*);

記憶クラスへのポインタなんかできるわけないだろ
0446デフォルトの名無しさん2010/10/31(日) 15:26:56
.>>445
あぁよく見たら間違ってるな
typedef char*(*MY_FUNC)(char*);
の誤りだ

>>444
しかし、型が間違ってるだけだったの?
char (*)(char*) みたいなのでも type として認識されるんだ
俺も勉強になったよ、何の役にも立たないとは思うけど
0447デフォルトの名無しさん2010/10/31(日) 16:27:59
しかしva_argの戻り値で関数を呼び出すソースは初めて見たわ
パッと見何をしてるのか最初はわからなかった
Cはこの辺り読みにくいな
0448デフォルトの名無しさん2010/10/31(日) 16:31:50
おまえのレベルが足りてないだけだろ。
0449デフォルトの名無しさん2010/10/31(日) 16:34:00
そんな言い方しなくてもと
0450デフォルトの名無しさん2010/10/31(日) 16:37:52
>>448
レベルだと?Cは複雑な宣言も酷評を受けてるだろ
言語の欠陥なのに人のせいにすなアホ
お前同じ事職場で言ってみ
すぐ左遷されるぞ
お前の性格の欠陥だ
0451デフォルトの名無しさん2010/10/31(日) 16:38:29
>>447
そもそもメリットが判らんよ
関数ポインタの配列で渡せば良いと思うんだが
0452デフォルトの名無しさん2010/10/31(日) 16:38:42
あっ>>448は元々ニートでしたかサーセンwww
0453デフォルトの名無しさん2010/10/31(日) 16:59:51
一般人的感覚なんて宛にならない
0454デフォルトの名無しさん2010/10/31(日) 17:13:30
Cの可変長引数なんてprintf系のフォーマット+任意型値リストみたいなの専用だろ
0455デフォルトの名無しさん2010/10/31(日) 17:16:45
トリッキーなコード書いて、はまりたいだけでしょ
0456デフォルトの名無しさん2010/10/31(日) 20:00:24
>>450
表現力を失う選択をしたわけでもないのに言語の欠陥とは何のことだ?

それから左遷ておまえいつの何の話をしてるんだ?
いちおう付き合ってやると C の文法ごときで無能の言い訳をする奴こそ箸にも棒にもかからんのだが
0457デフォルトの名無しさん2010/10/31(日) 20:06:50
レジストリクリーナソフト作りたいです
0458デフォルトの名無しさん2010/10/31(日) 22:31:10
うるさい糞ジャップ
0459デフォルトの名無しさん2010/10/31(日) 22:58:04
この流れワロス
0460デフォルトの名無しさん2010/10/31(日) 23:00:08
レジストリクリーナソフト作りたいです
0461デフォルトの名無しさん2010/10/31(日) 23:02:47
作らないでください
0462デフォルトの名無しさん2010/10/31(日) 23:03:35
なんでですか?
0463デフォルトの名無しさん2010/10/31(日) 23:29:49
ひょっひょっ
0464デフォルトの名無しさん2010/10/31(日) 23:36:04
Wise Registry Cleaner掛けたらBorland Developer Studioの再インストールを余儀なくされた
いらん所を壊してるらしい
0465デフォルトの名無しさん2010/11/01(月) 06:49:41
んで結局レジストリ使うのは推奨なのか避けるべきなのかどっちなんだよ。
0466デフォルトの名無しさん2010/11/01(月) 08:15:47
高級つぶあんうまいよな
100円だけど栗入りだし高くない
ただセブンで売っていないのが残念
0467デフォルトの名無しさん2010/11/01(月) 08:41:11
精神鑑定意味あるの?
正常な精神で人殺しちゃうほうが異常だろ?
0468デフォルトの名無しさん2010/11/01(月) 10:20:23
レジストリなんてもんを背負ってるOSを使ってると大変なんだな
まぁ同情はするが共感はしない
0469デフォルトの名無しさん2010/11/01(月) 10:37:04
Cでゲーム作るとき一番簡単なゲームってなんですか?
0470デフォルトの名無しさん2010/11/01(月) 10:38:37
倉庫番
0471デフォルトの名無しさん2010/11/01(月) 11:05:05
平安京エイリアン
0472デフォルトの名無しさん2010/11/01(月) 11:26:21
上海
0473デフォルトの名無しさん2010/11/01(月) 11:29:07
早打ちガンマン
0474デフォルトの名無しさん2010/11/01(月) 12:00:20
スト2
0475デフォルトの名無しさん2010/11/01(月) 12:33:48
エグゼド・エグゼス
0476デフォルトの名無しさん2010/11/01(月) 12:34:05
スロット
0477デフォルトの名無しさん2010/11/01(月) 12:35:44
ルート16
0478デフォルトの名無しさん2010/11/01(月) 12:53:56
クレイジークライマー
0479デフォルトの名無しさん2010/11/01(月) 16:02:33
バーガータイム
0480デフォルトの名無しさん2010/11/01(月) 16:08:09
ディグダグ
0481デフォルトの名無しさん2010/11/01(月) 16:55:32
じゃんけんだろ
0482デフォルトの名無しさん2010/11/01(月) 16:58:42
○罰ゲーム
0483デフォルトの名無しさん2010/11/01(月) 17:08:04
○×ゲームと聞いて映画「ウォーゲーム」を思い出した
0484デフォルトの名無しさん2010/11/01(月) 21:17:06
int main(int argc, char **argv)と書いてある時がありますが
int main(int argc, char *argv[])との違いはなんですか?
0485デフォルトの名無しさん2010/11/01(月) 21:18:25
無い
0486デフォルトの名無しさん2010/11/01(月) 21:21:34
そもそも p[i] が *(p+i) と同じなんだから。
0487デフォルトの名無しさん2010/11/01(月) 21:45:35
>>486
仮引数にその話は関係ない。
0488デフォルトの名無しさん2010/11/01(月) 21:53:34
仮引数のときは例外として[]はポインタに読み替えられる。
だからポインタのポインタとポインタの配列は同じ意味になる。
0489デフォルトの名無しさん2010/11/01(月) 21:55:46
配列のポインターは違うんで注意
0490デフォルトの名無しさん2010/11/01(月) 22:07:42
そんなことはみんな知ってるし聞いてない.
0491デフォルトの名無しさん2010/11/01(月) 22:09:35
俺は知らなかった
はい論破
0492デフォルトの名無しさん2010/11/01(月) 22:10:09
論破←
0493デフォルトの名無しさん2010/11/01(月) 22:18:44
配列のポインタ (*p)[]
ポインタの配列 *p[]

豆な。
0494デフォルトの名無しさん2010/11/01(月) 22:20:22
そんなことはみんな知ってるし聞いてない
0495デフォルトの名無しさん2010/11/01(月) 22:20:34
そんなことはみんな知ってるし聞いてない.
0496デフォルトの名無しさん2010/11/01(月) 22:21:34
俺は知らなかった
はい論破
0497デフォルトの名無しさん2010/11/01(月) 22:23:14
なんちゅう流れやで!
0498デフォルトの名無しさん2010/11/01(月) 22:23:21
味覇
0499デフォルトの名無しさん2010/11/01(月) 22:24:34
炒飯にすると美味しい味覇か!
0500デフォルトの名無しさん2010/11/01(月) 22:25:48
お前らレベルになるとC言語で炒飯作れちゃんだろ?
0501デフォルトの名無しさん2010/11/01(月) 22:27:32
そんなことはみんな知ってるし聞いてない
0502デフォルトの名無しさん2010/11/01(月) 22:28:45
チャーハンなんて誰でも作れるし、チャーハンを得意料理とか言っちゃうプログラマは信用してない
0503デフォルトの名無しさん2010/11/01(月) 22:30:04
にげロンパ
0504デフォルトの名無しさん2010/11/01(月) 22:30:54
得意な料理はスパゲッティです。
0505デフォルトの名無しさん2010/11/01(月) 22:40:08
スパゲッティがぐちゃぐちゃに絡まるとか、プログラマはろくなもん食ったことないんだろうなw
0506デフォルトの名無しさん2010/11/01(月) 22:45:28
得意料理はビシソワーズです!
0507デフォルトの名無しさん2010/11/01(月) 22:46:04
   ( ̄| ̄ ̄ ̄ ̄ ̄ ̄)
   \_|_____○/
  / //ノノノ人ヽ   ヽ
  | /  -‐'  'ー-' \ヽ |
  ||  (●), 、(●:ヽ /
   |  ,,ノ(、_, )ヽ、,,   |   あーさーくーらー
   \  .`ニニ´  .:::/
   /`ー‐--‐‐ー´´\
0508デフォルトの名無しさん2010/11/01(月) 22:46:12
コーヒー入れるの得意
0509デフォルトの名無しさん2010/11/01(月) 22:47:40
>>507
この速度でそのコピペを貼れたのは評価する。
0510デフォルトの名無しさん2010/11/01(月) 23:09:49
>>493
こいつ最高にアフォ
0511デフォルトの名無しさん2010/11/01(月) 23:15:26
コピペにマジレスかっこわるい
0512デフォルトの名無しさん2010/11/01(月) 23:18:31
現実社会じゃ使い物にならないバカどもの吹きだまり
0513デフォルトの名無しさん2010/11/01(月) 23:19:32
そのかわり電脳世界を支配してる
0514デフォルトの名無しさん2010/11/01(月) 23:26:15
>>512
少なくともおまえに言われたくはない
0515デフォルトの名無しさん2010/11/01(月) 23:36:08
>>73
こういうのが良いの?
if () {
}
0516デフォルトの名無しさん2010/11/02(火) 00:09:47
俺が一声かけるだけで闇プログラマーが300人以上は結集するよ。
0517デフォルトの名無しさん2010/11/02(火) 00:13:56
>>516
闇プログラマーって暇人なんだな
0518デフォルトの名無しさん2010/11/02(火) 00:20:31
相変わらず友達いないんだな。かわいそうに。>>516
0519デフォルトの名無しさん2010/11/02(火) 12:48:30
闇プログラマはgoto文を恐れない
0520デフォルトの名無しさん2010/11/02(火) 12:50:22
>>493
> 豆な。

わたしのお豆でもイイの? ウフン...
0521デフォルトの名無しさん2010/11/02(火) 15:34:57
低レベルすぎて情けない……
http://twitter.com/#search?q=%23meijimaxc
0522デフォルトの名無しさん2010/11/02(火) 16:09:15
>>521
幼稚園に出向いて低レベルとかお前バカだろ
0523デフォルトの名無しさん2010/11/02(火) 16:12:03
誰でも初めはこんなもんです。熟達者ほど忘れてるだけ
0524デフォルトの名無しさん2010/11/02(火) 17:36:23
え?どゆこと?
0525デフォルトの名無しさん2010/11/02(火) 17:40:34
ポインタの配列渡すときに**pって渡そうとしたらエラーが出ました。
pだけで良かったんですね。
0526デフォルトの名無しさん2010/11/02(火) 18:00:01
最近c言語を学び始めました
「各入力行から、行のあとのブランクやタグを除き、かつ空白行はすべて削除するようなプログラムをかけ」
という問の答えがわかりません;;
putchar、getcharを使うんだと言う事はなんとなくわかるんですが・・・
どなたか優しい方このプログラムの作り方おしえてください
0527デフォルトの名無しさん2010/11/02(火) 18:03:45
答えだけ欲しいんなら宿題スレがあるのでそっちへ
ひとつずつ教えてもらいながら1歩1歩進んで行きたいんならここでもいいけど、それならまず自分がどこまでわかるのか、わかる部分とわからない部分を明確にしてください
0528デフォルトの名無しさん2010/11/02(火) 18:06:47
「各入力行」と言ってるのだから入力は行単位。
gets か fgets を使え。
あとは入力された byte 列を加工するだけ。
その後どうするかは仕様に書いてないので何もせずプログラム終了。
表示の類は行なわない。
0529デフォルトの名無しさん2010/11/02(火) 18:21:47
>>526

char str[256] ;
char* p ;
gets ( str ) ;// 1行読み取る
for ( p=str ; *p ; p++ ){
if( *p==' ' || *p=='\t' ){// 空白文字ならスキップ
continue ;
} else if ( *p=='<' ){// タグの開始文字が見つかったら
while(*p!='>'){//タグの終了文字までスキップ
p++ ;
}
continue ;
}
putchar(*p) ;
}

はい
あとは問題の仕様にあわせて書き直せ
0530デフォルトの名無しさん2010/11/02(火) 18:41:15
これはひどい
0531デフォルトの名無しさん2010/11/02(火) 18:50:22
すみません、基本的な質問ですが、

CString a[10];
char b[10][256];

lstpcpy(b[0],a[0]);
でa[0]="abc"の値がb[0]にコピーされません。
何か問題ありますでしょうか?他の方法がありましたら教えていただけますようお願いします。
0532デフォルトの名無しさん2010/11/02(火) 18:54:48
>>531
CStringがMFCのそれならスレ違い。
自分で定義したのならそれを明らかに。
いずれにしても、使い方が間違っていると思われ。
0533デフォルトの名無しさん2010/11/02(火) 18:57:38
>>531
MFCスレ行けよ
http://toki.2ch.net/test/read.cgi/jfoods/1286358155/
05345312010/11/02(火) 19:04:33
すんません
0535デフォルトの名無しさん2010/11/02(火) 19:16:06
stpcpy() なんて関数有るんだな、知らんかったよ
便利な気もするけど、使ったら何これって言われそうだ
0536デフォルトの名無しさん2010/11/02(火) 23:21:45
>>535
俺も初めて見たわ
実装の問題になるけど、オリジナルの dst を保存しなくていい分だけ数ステップ速いとかかな?
0537デフォルトの名無しさん2010/11/03(水) 02:00:56
続けて連結する場合、strcatよりstpcpyの方が終端検索分だけ早そう
それくらいしか思いつかない
0538デフォルトの名無しさん2010/11/03(水) 02:04:03
>>536
文字列を連結するときに strcat() 使うより早いよね
strcat() 内での NULL 検出が必要ないから
0539デフォルトの名無しさん2010/11/03(水) 11:50:45
内部では終端探してるだろうから速度は変わらん。手間の問題だな。
0540デフォルトの名無しさん2010/11/03(水) 12:54:49
sqlite.dllってなに?
0541デフォルトの名無しさん2010/11/03(水) 13:02:59
sqliteのdll
0542デフォルトの名無しさん2010/11/03(水) 13:16:17
>>539
strcpy(s, a);
strcat(s, b);
strcat(s, c);
strcat(s, d);

より

p = stpcpy(s, a);
p = stpcpy(p, b);
p = stpcpy(p, c);
p = stpcpy(p, d);

のほうが速いだろ。
0543デフォルトの名無しさん2010/11/03(水) 13:19:02
バッファオーバーフローしないように注意するとそんな速度差は吹っ飛ぶような気がする
0544デフォルトの名無しさん2010/11/03(水) 13:32:03
「内部で終端探してるから速度は同じ」ってのがよく分からん。
ただの勘違い?
0545デフォルトの名無しさん2010/11/03(水) 14:45:06
>>544
多分

stpcpy( stpcpy( stpcpy( s, "A" ),  "B" ), "C" );
みたいな書き方を美しいと考えた人の発明ではとも考えるんだけどね...美しいか? 
そも stp ってなんだろ?
0546デフォルトの名無しさん2010/11/03(水) 15:14:34
MOD_SSLを使ってSSLサーバを構築しようとしています。
最初にmakeしたときは、ndbm.hがないというのでネットで探したら見つかりました。
それをコピーして使ったところコンパイルは通るようになりました。
しかし、起動に失敗してエラーログを見るとmod_auth_dbm.cに未定義の関数
dbm_fetchがないというエラーが出ていました。犯人はもともとapacheに
含まれていないgdbmというソフトの中のndbm.hというヘッダの中にあって、
dbm_fetch関数を定義してあるソースコードもありました。未定義の関数を
コメントアウトするとコンパイルに失敗します。
この実行時エラーをなくすためにはどのようにコンパイルすればいいのでしょうか。
makeの読み方がわからずどのようなオプションをつければいいのかわかりません。
解決方法が解る方がいたら教えてください。
開発環境はSlackware11.0、GCC3.4.6です。
0547デフォルトの名無しさん2010/11/03(水) 16:23:15
先にgdbmをインストールすればいいんじゃない?
0548デフォルトの名無しさん2010/11/03(水) 17:16:09
dbm_fetch.cだけをコンパイルしたいのですが、外部参照の関数が多くて
単独でのコンパイルは難しいようです。少なくともどのようにコンパイルすれば
いいのか私には見当がつきません。makefileの記述を載せれば答えてもらえる
でしょうか?libgdbmにもリンクしようとしましたがエラーが出てだめでした。
どのようなエラーが出たのか見せたほうがいいでしょうか。
0549デフォルトの名無しさん2010/11/03(水) 17:22:54
>>548
cc -c dbm_fetch.c
0550デフォルトの名無しさん2010/11/03(水) 17:24:08
> dbm_fetch.cだけをコンパイルしたいのですが

そんなアクロバティックな真似は無理です
0551デフォルトの名無しさん2010/11/03(水) 17:31:16
>542
話の発端がわからないけど、strcpy(dst, src)の戻り値はdstです。
あとのコードはsにa, b, c, dを上書きしているだけで、連結になっていません。

文字列の編集したいなら、普通はsprintfを使うと思います。

sprintf(s, "%s%s%s%s", a, b, c, d);
0552デフォルトの名無しさん2010/11/03(水) 17:37:09
お前はstrcpyとstrcatの区別もできないのか
0553デフォルトの名無しさん2010/11/03(水) 17:38:19
区別できてないのはstrcpyとstpcpyの方か
0554デフォルトの名無しさん2010/11/03(水) 17:40:06
シンボル参照に失敗しているだけだと思うのですが、
gcc -c dbm_fetch.c dbmfetch.c
でコンパイルできるかやってみます。
0555デフォルトの名無しさん2010/11/03(水) 17:44:10
いろんなエラーが出てだめでした。
これさえ解決できればSSLサーバができるんですが・・・
0556デフォルトの名無しさん2010/11/03(水) 17:50:10
まだstpcpyの話してんのか
俺もtypoに気づいた時は笑ってしまったが
0557デフォルトの名無しさん2010/11/03(水) 17:51:06
>>556
ハハハ
0558デフォルトの名無しさん2010/11/03(水) 18:13:02
>>551
stpcpy()を使う使わないって話ではなくて、内部でどうこうしてるから
高速化されないって話に、いや高速化されるでしょって話をしてるの。
0559デフォルトの名無しさん2010/11/03(水) 18:16:32
gcc -c -I../../os/unix -I../../include -DLINUX=22 -DHAVE_SET_DUMPABLE -DNO_DBM_REWRITEMAP -DMOD_SSL=208130 -DUSE_HSREGEX -DEAPI `../../apaci` -fpic -DSHARED_MODULE mod_auth_dbm.c && mv mod_auth_dbm.o mod_auth_dbm.lo
gcc -shared -o mod_auth_dbm.so mod_auth_dbm.lo
0560デフォルトの名無しさん2010/11/03(水) 18:17:37
stpcpy()を使うとCPUメーカーが極秘にしている超高速命令に展開されるらしいぞ
逆アセンブルしても?????としか表示されないので一見何をやってるのかわからない
0561デフォルトの名無しさん2010/11/03(水) 18:20:19
文字列の連結はsprintf()使うのが普通なのか。

sprintf(s "%s%s%s", a, b ,c);
が
strcpy(s, a);
strcat(s, b);
strcat(s, c);
より特にいいようには見えないけど。
0562デフォルトの名無しさん2010/11/03(水) 18:27:43
__builtin_にすべきだよなstrcpyもstpcpyもw,l,sみたいなプレ|ケツフィックス付けた関数の増殖を防げるしバッファ長の安全もメタっぽい方法で確保できそうだし
0563デフォルトの名無しさん2010/11/03(水) 18:28:33
連結数が固定なら短くすっきり書けるからsprintfを使うな
でもstrcatやstpcpyの方が速度は早そう
0564デフォルトの名無しさん2010/11/03(水) 18:29:44
速度(笑)とか言ってる奴が標準関数使うなよw
0565デフォルトの名無しさん2010/11/03(水) 18:35:15
↑プログラミング作法も知らんのか
0566デフォルトの名無しさん2010/11/03(水) 18:41:39
本当に速度を求めるのなら作法なんかにこだわってる場合じゃない
0567デフォルトの名無しさん2010/11/03(水) 18:42:00
>>563
strcpy(), strcat()は複数行になるけど、sprintf()はフォーマット文字列の
存在が気持ち悪いから、俺の感覚だとどっちもどっちみたいな。

sprintf(s, "%s - %s - %s", a, b, c);
みたいな感じだとsprintf()のほうがスッキリ感は圧倒的に上だけど、
単純な連結だと、まあ、どっちでもいいかなって感じ。
0568デフォルトの名無しさん2010/11/03(水) 18:43:51
>>566
べつに行儀のよさを取るか、スピードを取るかみたいに極端に走らないと
いけないってわけじゃないし。
0569デフォルトの名無しさん2010/11/03(水) 18:56:22
と言いながら、中途半端な自分をごまかして死んでいくわけですね。
0570デフォルトの名無しさん2010/11/03(水) 18:58:19
人生には極端に走らなければいけない時がある
0571デフォルトの名無しさん2010/11/03(水) 19:05:34
そもそも、sprintfとstpcpyの速度差が性能に大きな影響を与えるような場所で、sprintfとstpcpyを使ってしまうような開発者のセンスを疑う。
0572デフォルトの名無しさん2010/11/03(水) 20:12:02
性能がよく高速で安全なプログラミング作法も守ったならここが有名
http://studiokingyo.fc2web.com/
実務プログラミングソリューションでは一般の認知的だが、知的だとこのあたりだ
0573デフォルトの名無しさん2010/11/03(水) 20:13:23
>>572
アフィサイト死ね
0574デフォルトの名無しさん2010/11/03(水) 20:15:18
>>572
おお、これはアフィサイトではないな高度情報だ
神と認定してもよい評価べき
0575デフォルトの名無しさん2010/11/03(水) 20:21:23
高度情報wwwwwww
0576デフォルトの名無しさん2010/11/03(水) 20:25:48
なんか涙出てきた
0577デフォルトの名無しさん2010/11/03(水) 20:27:27
組み込みでgcc使ったとき、
printfを自作して組み込んだんだけど上手く動かないことがあった。
逆アセして追っかけるとソースではprintf使ってるのに、
コンパイラが一部のprintfを勝手にputsに置き換えてることが原因だった。
速度的に有利なものをコンパイラが勝手に置き換えてたみたい。
sprintf、stpcpyもコンパイラが勝手に置き換えてくれたりせんもんかね。
0578デフォルトの名無しさん2010/11/03(水) 20:29:05
>一般の認知的だが、知的だとこのあたり

?????
0579デフォルトの名無しさん2010/11/03(水) 20:29:10
>>577
strなんとかは、インライン展開とかしない?
0580デフォルトの名無しさん2010/11/03(水) 20:31:30
>>577
これはダメだろ。
勝手に置き換えるのは最適でも何でもない。
ふざけんな。
0581デフォルトの名無しさん2010/11/03(水) 20:33:42
>>580
じゃあ最適化させるな。
最適化しろとgccに指示しているのはgccの使用者だ。
0582デフォルトの名無しさん2010/11/03(水) 20:37:11
日本語が不自由な人なの?
0583デフォルトの名無しさん2010/11/03(水) 20:38:01
Солодом митре
0584デフォルトの名無しさん2010/11/03(水) 21:06:20
組み込みで使うときは -ffreestanding を指定しておけばそのような勝手な置き換えは何もしない
デフォルトでは -fhosted でホスト環境の標準ライブラリが前提
0585デフォルトの名無しさん2010/11/03(水) 21:13:52
>>582
自己紹介乙
0586デフォルトの名無しさん2010/11/03(水) 21:14:10
たしかgccは最適化OFFでもputsに置き換えた気がする。
バージョンによるかもしれんが。明示的にオプションでOFFにできるのかね。

そもそも自作printfならオブジェクトのスコープでは別名にしたほうがいいかも。
使う側でdefineでprintfにするとか、ね。
0587デフォルトの名無しさん2010/11/03(水) 21:15:12
デフォにするなよな……
逆だろどう考えても……
0588デフォルトの名無しさん2010/11/03(水) 21:17:11
その程度の人間が標準関数を置き換えるようと思うな。
0589デフォルトの名無しさん2010/11/03(水) 21:18:13
>>586
-fno-builtin-printf
かな
05905862010/11/03(水) 21:18:28
と思ったら>>584で解が。
やっぱりデフォでしたか…。
0591デフォルトの名無しさん2010/11/03(水) 21:41:46
反対してんのはどうせ一人だけのアホだろ
0592デフォルトの名無しさん2010/11/03(水) 21:58:34
始めまして、C言語初めて2日で、どうしてもわからないことができたので質問させて頂きます
float k,d,g,a,Enter;
printf("数字を入力してください ");
scanf("%d",&k);
rewind(stdin);
printf("もう1つ数字を入力してください ");
scanf("%d",&d);
g=k+d;
a=(k/g)*100;
if(    )
printf("\n【%.4f%】",a);
else if(    )
printf("\n【%.4f%】\n",a);
else if(    )
printf("\n【%.4f%】\n",a);
printf("\nEnterおすと終わりっす。");
rewind(stdin);
getchar();
ifの中を50以下の時の表示、51以上60未満の時の表示、61以上の時の表示で作りたいのですが、
ifの中をどう書いて良いのかよくわかりませんorz

後問題は、文字を入力された時にエラーとして文字が入力されています等も表示させたいのですが、どのようにすれば良いのでしょうか・・・

教えて頂きたいです。

0593デフォルトの名無しさん2010/11/03(水) 22:05:29
インデントのないプログラムは見ないことになっている
0594デフォルトの名無しさん2010/11/03(水) 22:07:09
>>592
a <= 50
a >= 51 && a < 60
a >= 61
って、比較対象は a でよかったのか?
それと 60 の時が抜けてる気がする
文字が入力されたときは scanf の戻り値を調べる
0595デフォルトの名無しさん2010/11/03(水) 22:11:03
>>592
>rewind(stdin);

おもいっきり環境依存なんだが
0596デフォルトの名無しさん2010/11/03(水) 22:14:52
>>594
ありがとうございます^^
比較対象はaですね、60のとき・・そうですね;改善します

>>592
環境依存文字とはなんでしょう?;
0597デフォルトの名無しさん2010/11/03(水) 22:16:56
>>596
VCでしょ?
gccとかで rewind(stdin); ってやったら未定義の動作になるよ
0598デフォルトの名無しさん2010/11/03(水) 22:18:57
始めて2日目にそんな話をしてもしょうがあるまい
0599デフォルトの名無しさん2010/11/03(水) 22:20:37
なあに、自分の環境で動けば問題ない
0600デフォルトの名無しさん2010/11/03(水) 22:26:50
初心者に間違った知識を教えたらなかなか抜けないぞ
0601デフォルトの名無しさん2010/11/03(水) 22:29:19
どこでrewind(stdin)なんて書き方を覚えたのかが問題
0602デフォルトの名無しさん2010/11/03(水) 22:32:35
>>601
おぼえたっていうか、問題文のコピペだろ?
0603デフォルトの名無しさん2010/11/03(水) 22:35:47
>>597
よくわかりませんが、gccというのでやるとダメなのですね

>>601
rewindはscanfが連続して続くときに使えとかなんとかいわれて・・

>>594さんの
最後の文を見てなかったのですが、scanfの戻り値の設定とはどういうことでしょうか・・??

0604デフォルトの名無しさん2010/11/03(水) 22:38:20
> rewindはscanfが連続して続くときに使えとかなんとかいわれて・・

なにその投げやりな説明
0605デフォルトの名無しさん2010/11/03(水) 22:38:49
>>603
gccって言うか、VC以外の環境ではまず駄目
VC独自の拡張だから
0606デフォルトの名無しさん2010/11/03(水) 22:40:40
>>603
「scanf が連続」してないところで使ってるのは何?
0607デフォルトの名無しさん2010/11/03(水) 22:44:26
初心者なら gcc -Wall -ansi -pedantic が無難じゃないかな。
WindowsならMinGW簡単にインストールできるし。
0608デフォルトの名無しさん2010/11/03(水) 22:44:53
>>604
正直自分でもよくわかってませんwこうしたらこうしろ見たいな感じだったので

>>606
最初に書いたやつは連続してないのに使ってるや、と後から思ったので自分で修正しました><
0609デフォルトの名無しさん2010/11/03(水) 22:49:12
scanf()のエラーチェックはこういう感じ。

ret = scanf("%d", &n);
if (ret != 1) {
 エラー処理
}
0610デフォルトの名無しさん2010/11/03(水) 23:00:04
入力ストリームのクリアには何が推奨なの?
while (getchar() != '\n') {} とか?
scanf("%*[^\n]%*c"); とか?
0611デフォルトの名無しさん2010/11/03(水) 23:01:24
>>610
確実な方法はない
クリアしているうちに次の新しい入力が入って来てるかもしれないし

C++ならgetlineとstringを使えばほとんど対応できるけど
0612デフォルトの名無しさん2010/11/03(水) 23:04:55
>>610
scanf()系は読み込みの単位が行じゃないんで、行単位でクリアするとおかしくなる。
0613デフォルトの名無しさん2010/11/03(水) 23:06:04
>>611
Cではいい方法はないからこそVCで独自拡張されたんだよな
0614デフォルトの名無しさん2010/11/03(水) 23:06:07
いや、少なくともこの例題だと行単位でクリアするのが正しいだろ
06155512010/11/03(水) 23:08:05
>542>551
stpcpyだったんですね。はじめて知りました。
^

まぁ実装を想像すればNUL文字を走査しないでよいだけ
strcatよりは早くなる可能性が高いですね。

>565
たしかに速度が求められるなら、sprintfはアウトかもしれませんが
そういう場合はstrcpy,stpcpyもイイかといわれると?

標準関数が使用できない環境なら自作のmemcpy相当を
使うだろうから(str系は自作しないだろうし)、そもそもこんな話にはならないでしょうね。
0616デフォルトの名無しさん2010/11/03(水) 23:10:54
>>615
stpcpy()は強力だぞ
CPUの未定義命令が生成され、物凄く速い

strcpy()とは全く別物
0617デフォルトの名無しさん2010/11/03(水) 23:12:30
数行くらいの練習用コードで、エラー入力は考慮しないとか、
エラーがあったら即終わるみたいな感じだったらscanf()でもいいけど、
エラーチェックしろとか、エラーがあったら再入力させろとかって
条件がつくとscanf()だととたんに難しくなるな。

fgets()とか使わせたほうが結局簡単だけど、入門者用のテキスト書くやつって
scanf()を使いたがる。
0618デフォルトの名無しさん2010/11/03(水) 23:16:56
fgets() + sscanf() で当面いいんじゃね
0619デフォルトの名無しさん2010/11/03(水) 23:23:00
>>618
その組み合わせをどのように使うんですか?
0620デフォルトの名無しさん2010/11/03(水) 23:25:23
scanf()は融通が利かないので、一度fgets()でバッファオーバーフローを避けつつ
sscanf()でバッファを読み取る

これだとバッファはそのまま残るので rewind(stdin); とか変なテクは必要なくなる
もちろん複数行になると面倒だけど
0621デフォルトの名無しさん2010/11/03(水) 23:26:08
>>617
入門書だと例外処理を考える必要ないだろ
読む人間がまるっきりわかってないのに
なんだかんだやらせるよりscanf()でやってしまった方が覚えやすいし楽

例外処理やらそのほかのやり方はその次の段階の話
0622デフォルトの名無しさん2010/11/03(水) 23:26:18
>>619
fgets(buf, sizeof(buf), stdin);
sscanf(buf, "%d", &n);
0623デフォルトの名無しさん2010/11/03(水) 23:29:57
>>621
だからエラー処理を考えないならいいって書いてるじゃん。
2chに貼られる質問みてると >>592 みたいにエラーメッセージ出しなさいとか
ループで使って無限ループしましたとか多いじゃん。
0624デフォルトの名無しさん2010/11/03(水) 23:47:44
それあるな
scanf()はスキャンしてエラーを起こすと全く読み込みポインタを進めないので
返却値をチェックしないと無限ループに陥る事が多い
0625デフォルトの名無しさん2010/11/03(水) 23:55:32
>>622、どうもです。

ところで、この場合どうなるんですか?
scanf("%d", &n1); // ここで間違って文字を入れた
scanf("%d", &n2); // そのときここはどうなるんですか?
0626デフォルトの名無しさん2010/11/03(水) 23:57:30
実行してから言え
0627デフォルトの名無しさん2010/11/04(木) 00:02:03
>>625
一行目の入力がストリームに残ったまま次のscanf()に行って、
やはり同じデータを読もうとして同じようにエラーになる。
0628デフォルトの名無しさん2010/11/04(木) 00:05:13
>>627
ありがとうございました。

>>626
死ね
0629デフォルトの名無しさん2010/11/04(木) 00:07:07
>>627
死ね
0630デフォルトの名無しさん2010/11/04(木) 00:09:11
>>628
死ね
0631デフォルトの名無しさん2010/11/04(木) 00:15:11
生きろ
0632デフォルトの名無しさん2010/11/04(木) 00:16:17
この流れワロス
0633デフォルトの名無しさん2010/11/04(木) 00:17:39
>>632
クソして寝ろ
0634デフォルトの名無しさん2010/11/04(木) 00:31:45
クソしたら腸がはみ出た謝罪と賠償を請求するニダ
0635デフォルトの名無しさん2010/11/04(木) 00:35:22
シーっと!クソがブイビィブイビィっと出やがった!ジャバジャバ流してやる!
0636デフォルトの名無しさん2010/11/04(木) 00:39:54
>>633
お前の指図は受けない
0637デフォルトの名無しさん2010/11/04(木) 00:56:10
>>636
クソしないで寝ろ
0638デフォルトの名無しさん2010/11/04(木) 00:58:51
>>627
scanfが成功するとストリームは自動的にクリアされるが、
scanfでエラー発生すると、ストリームが自動的にクリアされないので
自前でクリアしなければならないと。そして、それを正しくクリアするのは意外と大変と
ということで、エラーを考えた場合、scanfを使うのはイクナイと
0639デフォルトの名無しさん2010/11/04(木) 01:01:08
>>637
うるさい
0640デフォルトの名無しさん2010/11/04(木) 01:03:29
>>639
もうクソしつつ寝るしかないな
0641デフォルトの名無しさん2010/11/04(木) 01:04:57
> scanfでエラー発生すると、ストリームが自動的にクリアされないので

ん、ungetc でストリームを捏造することが問題なんじゃなかったの?
0642デフォルトの名無しさん2010/11/04(木) 01:16:28
>>641
いやいやエラー発生してもストリームはそのままなので、エラー対策をしてない
プログラムだと簡単に永久ループに飛び込む
0643デフォルトの名無しさん2010/11/04(木) 01:18:01
エラー発生は非破壊検査できないだろ
0644デフォルトの名無しさん2010/11/04(木) 01:25:55
もういいや
適当に作って永久ループに飛び込んで原因が分からず一晩悩んで頭禿げろよ
0645デフォルトの名無しさん2010/11/04(木) 01:49:53
mallocで確保したメモリって
exitやmain関数のreturn 0;でプログラムを終了する直前でもfreeで開放した方がいいんですか?
いちいち開放するようにしてると冗長になるような気がするんですけど
0646デフォルトの名無しさん2010/11/04(木) 01:55:40
>>645
プログラムによる

途中で多量のヒープ領域を使い、free()しないとヒープ領域を使い果たして
しまうようなプログラムではfree()しないと動かない

宿題程度でもmalloc()とfree()を対にしないと減点の対象になる事があるし
0647デフォルトの名無しさん2010/11/04(木) 01:55:49
しなくていいよ
0648デフォルトの名無しさん2010/11/04(木) 01:58:31
無責任なレスだなあ・・・
free()が何のためにあると思ってんだよ
0649デフォルトの名無しさん2010/11/04(木) 01:59:20
>>648
お前こそもっと勉強しろよ
0650デフォルトの名無しさん2010/11/04(木) 02:00:00
>>649
はあ?ただの煽りかお前
0651デフォルトの名無しさん2010/11/04(木) 02:02:35
メモリリークするときだけfreeすればいいよ
0652デフォルトの名無しさん2010/11/04(木) 02:02:44
C言語のexit()にはクリーンアップルーチンが通常は組み込まれており、
free()しなくても確かにプログラム終了と同時にmalloc()で使っていた
ヒープ領域もろともOSに返却される

しかし、途中でfree()しないと動かないプログラムや環境もある事を忘れない事だ
0653デフォルトの名無しさん2010/11/04(木) 02:06:50
>>646>>652
なるほど
いま大きな配列を扱うプログラムを使っててその配列をヒープ領域に確保してるんですけど
プログラムの最初から最後まで使うような配列なので何度もmallocを使うっていうことはないです
終了時にはOSが自動的に開放してくれるみたいなんでfreeしなくてもいいかなと思ってたんですけど
やっぱり環境に依存しちゃうんでfreeで開放するに越したことはないんですかね
0654デフォルトの名無しさん2010/11/04(木) 02:08:03
>>650
どした?質問者がきいていることを理解したか?
0655デフォルトの名無しさん2010/11/04(木) 02:08:45
だからしなくていいって
0656デフォルトの名無しさん2010/11/04(木) 02:09:33
>>651
お前こそもっと勉強しような
メモリリークとfree()はどちらかと言うと無関係だし
malloc()で得たポインタを捨ててしまう事が悪い
それはバグだ
0657デフォルトの名無しさん2010/11/04(木) 02:10:44
>>653
そういうのはfree()しなくても問題は起きない
しかし作法としては良くない
FILEをfopen()したままfclose()しないようなものだ
0658デフォルトの名無しさん2010/11/04(木) 02:14:20
>>657
そうですね
ありがとうございます
0659デフォルトの名無しさん2010/11/04(木) 02:15:04
>>656
え?
>>657
それは違う
0660デフォルトの名無しさん2010/11/04(木) 02:16:28
他の例えで言うと、校内にゴミを巻き散らかして、下校する時に
「掃除のオバチャンが綺麗にしてくれるから片づけなくていいや」と言ってるようなもん
行儀悪いだろ?確かに掃除のオバチャンが明日までには片づけてくれるだろうがね
0661デフォルトの名無しさん2010/11/04(木) 02:17:16
>>660
それも違う
0662デフォルトの名無しさん2010/11/04(木) 02:17:42
この程度の事で迷ったり原則論を声高に主張するような奴はもっと楽な言語を使ってれ
って事だわ
0663デフォルトの名無しさん2010/11/04(木) 02:20:06
>>662
それも違う
0664デフォルトの名無しさん2010/11/04(木) 02:20:48
GC言語使った方が良いね
0665デフォルトの名無しさん2010/11/04(木) 02:29:01
FILEのfopenについては、exit時に全てcloseされることが仕様で定められている。
しかしexitで自動でfreeするなどという仕様はない。
単にその実装でそうなっているだけ。
0666デフォルトの名無しさん2010/11/04(木) 02:29:17
>>661
お前ウザいから無視
前にもこういう馬鹿な奴がいてfj.comp.lang.cで半年にもわたって
malloc()とfree()の議論が交わされたものだ
結論はmalloc()したらfree()しましょうという事で決着している
はい終わり

後は何を言われても返事しませんので

せいぜい独り言で自分が正しいと思う事でも明日の朝まで長々と
書いていればいいよ

実務に携わった経験のない奴はこれだから困る

おやすみ
0667デフォルトの名無しさん2010/11/04(木) 02:33:03
>>666
終了前にfree()いれても実行の度メモリが減少していくことがあります
はい論破
0668デフォルトの名無しさん2010/11/04(木) 02:40:32
>>667
0669デフォルトの名無しさん2010/11/04(木) 02:43:28
>>668
あ?知らないの?
0670デフォルトの名無しさん2010/11/04(木) 04:38:05
いや、絶対的に減るかどうかじゃなくて、
freeした場合としない場合の相対的な話をしているんじゃないの?
0671デフォルトの名無しさん2010/11/04(木) 06:21:07
よくわからないけど>>667が馬鹿って事?
0672デフォルトの名無しさん2010/11/04(木) 06:25:15
終了後の状態を比べてどうすんだよ
メモリリークは実行中に発生するから問題なんだろ
0673デフォルトの名無しさん2010/11/04(木) 07:09:16
ヒープと仮想記憶がごっちゃ
0674デフォルトの名無しさん2010/11/04(木) 08:53:22
だから終了前にfreeするかどうかだろ
普通のOSじゃ必要ないから
0675デフォルトの名無しさん2010/11/04(木) 09:08:45
>>572のサイトにすべて載っているな
しかもこの著者は独自研究最高成果としてdmallocという割り付け機構を実装した
まだ発見されていないAPIもある
0676デフォルトの名無しさん2010/11/04(木) 09:18:13
宣伝うざいしね
0677デフォルトの名無しさん2010/11/04(木) 09:22:38
ポインタの概念がわからないんだけど
いまは一つ一つどうすればいいのかを調べて
1個1個覚えていっていくって感じ
そういうのでいいの?
0678デフォルトの名無しさん2010/11/04(木) 09:26:54
オナニーなう
0679デフォルトの名無しさん2010/11/04(木) 09:28:27
誤爆なう
0680デフォルトの名無しさん2010/11/04(木) 09:30:05
>>675
HTMLもまともにかけてないのにCなんかできるの?
0681デフォルトの名無しさん2010/11/04(木) 09:41:21
エッチなまうまう?
0682デフォルトの名無しさん2010/11/04(木) 09:43:09
>>680
HTML書けないとC言語できないんですか
0683デフォルトの名無しさん2010/11/04(木) 09:45:19
最強のライブラリって何?
0684デフォルトの名無しさん2010/11/04(木) 09:51:30
HP作ったのが2000年で10年もやってんだから
HTML中級者以上の実力あるに決まってんだろ
ただ雑にやっているだけ
0685デフォルトの名無しさん2010/11/04(木) 09:55:19
>>683
ヒョードルを倒すための研究ノート
0686デフォルトの名無しさん2010/11/04(木) 09:56:29
高度情報に嫉妬してる奴がいるだけだ
0687デフォルトの名無しさん2010/11/04(木) 09:57:49
>>685
君はジョークのセンスを磨こう
0688デフォルトの名無しさん2010/11/04(木) 10:04:58
ガチでやったらヒョードルより俺の方が強い
0689デフォルトの名無しさん2010/11/04(木) 10:11:55
ぽいんぽいんポインタッチ
いや〜ん
0690デフォルトの名無しさん2010/11/04(木) 10:12:47
ガンダムのOSはCで書いてますか?
0691デフォルトの名無しさん2010/11/04(木) 10:14:40
ダルビッチ・サセコ
0692デフォルトの名無しさん2010/11/04(木) 10:14:48
#だよ
0693デフォルトの名無しさん2010/11/04(木) 10:18:07
>>692
まじで?
MS最強伝説!!!
0694デフォルトの名無しさん2010/11/04(木) 10:37:57
そりゃぁ、モビルスーツは最強だろうよ。
0695デフォルトの名無しさん2010/11/04(木) 10:42:58
バカだなぁテム・レイはCOBOLerに決まってるじゃないか
0696デフォルトの名無しさん2010/11/04(木) 12:23:42
低脳が集まるスレはここですか
0697デフォルトの名無しさん2010/11/04(木) 12:24:13
>>696
君も来ちゃったんだね
0698デフォルトの名無しさん2010/11/04(木) 12:36:48
めでたく仲間入りです
0699デフォルトの名無しさん2010/11/04(木) 12:37:53
>>677
黙ってポインタ完全制覇でも読むんだ。
0700デフォルトの名無しさん2010/11/04(木) 12:49:03
ゆとりなので、黙って読めません...
0701デフォルトの名無しさん2010/11/04(木) 13:01:42
>>667のようなアホはもしC++を使ったら、「デストラクタなんていらんよ」
「スマートポインタ?そんな物もいらね」と言い出しかねない馬鹿
0702デフォルトの名無しさん2010/11/04(木) 13:21:33
お前ら暇なの?
0703デフォルトの名無しさん2010/11/04(木) 13:30:53
実は今日は大学休みなんだ
0704デフォルトの名無しさん2010/11/04(木) 13:45:38
わるいな。このスレ3人用なんだ。
0705デフォルトの名無しさん2010/11/04(木) 13:46:17
じゃガンダムの登場キャラのイメージに合う使用言語、PCを決めようぜ。

アムロ・レイ : PC9800NX / C++
テム・レイ : PC8801mkII / COBOL
0706デフォルトの名無しさん2010/11/04(木) 14:07:33
>>701
また別の話を持ち出してくるバカがひとり
0707デフォルトの名無しさん2010/11/04(木) 14:17:08
男は黙ってFORTRAN
0708デフォルトの名無しさん2010/11/04(木) 14:23:30
>>707
ヒイロ?あいつエリートなんだろ?
0709デフォルトの名無しさん2010/11/04(木) 14:34:39
>>705
0083に出てくるが、アナハイムのPC環境ってすごいよな。
キーボードとかスゲー音w
0710デフォルトの名無しさん2010/11/04(木) 14:36:27
パプテマス・シロッコ : Amiga 500 / Haskell
0711デフォルトの名無しさん2010/11/04(木) 14:38:47
パプテマスさまー
0712デフォルトの名無しさん2010/11/04(木) 14:39:53
ガンダムなんてわかんねーよおっさんども
0713デフォルトの名無しさん2010/11/04(木) 14:41:40
ガンダムSEEDで語りやがれ
0714デフォルトの名無しさん2010/11/04(木) 16:52:28
キラ様は賢いからjava
0715デフォルトの名無しさん2010/11/04(木) 17:25:57
キラ様はブートストラップからやるからアセンブラだろ
0716デフォルトの名無しさん2010/11/04(木) 17:32:53
cpuはなんだ?
インテル入ってる?
0717デフォルトの名無しさん2010/11/04(木) 17:34:18
デュアルコアだな
0718デフォルトの名無しさん2010/11/04(木) 17:41:10
今時アセンブラって頭禿げるがな(´・ω・`)
0719デフォルトの名無しさん2010/11/04(木) 17:44:50
やっぱ宣伝か屑野郎

C言語で1000行くまでにプログラムを完成させるスレ
http://hibari.2ch.net/test/read.cgi/prog/1274962793/42

42 名前:仕様書無しさん[] 投稿日:2010/11/04(木) 17:35:24
/*
神サイトを発見した最強のライブラリアンが使えるC言語なら実務ができるようになる
http://studiokingyo.fc2web.com/
*/
0720デフォルトの名無しさん2010/11/04(木) 17:45:42
>>718
どうやって CPU 作るんだよ
0721デフォルトの名無しさん2010/11/04(木) 17:46:01
生きる為にやりました。
今は反省していない
0722デフォルトの名無しさん2010/11/04(木) 17:47:42
>>720
ハンダコテ
0723デフォルトの名無しさん2010/11/04(木) 17:52:19
>>719
いくらなんでも架空のレスをでっち上げるのはよくないな
0724デフォルトの名無しさん2010/11/04(木) 17:54:03
>>719
あれ、このサイト意外と神じゃね・・・?
0725デフォルトの名無しさん2010/11/04(木) 18:04:53
>>719
いいサイトをありがとう
ここのライブラリすごいな、boost超えるんじゃね時間の問題
0726デフォルトの名無しさん2010/11/04(木) 18:10:42
自作自演ウゼェ(´Α`)
0727デフォルトの名無しさん2010/11/04(木) 18:11:29
嫉妬ウゼェ(´Α`)
0728デフォルトの名無しさん2010/11/04(木) 18:14:27
で?素数の宿題は終わったのかよ
終わったんならガンダムネタに付き合えよ
0729デフォルトの名無しさん2010/11/04(木) 18:17:45
嫉妬だと? (・m・ )ぷ
0730デフォルトの名無しさん2010/11/04(木) 18:20:16
>>719
これだけの高度情報を収集した著者は偉大だな
俺は宇宙プログラムにも関わっているんだがこのサイトは話題の人気で実用性だった
0731デフォルトの名無しさん2010/11/04(木) 18:21:18
高度情報wwwwwww
0732デフォルトの名無しさん2010/11/04(木) 18:21:36
ハマーン・カーンはPhytonかな。PCはAlienware M17xって感じ
0733デフォルトの名無しさん2010/11/04(木) 18:24:12
話題の人気?
0734デフォルトの名無しさん2010/11/04(木) 18:27:11
このサイトは話題の人気で実用性だった
ってキチガイだなw
0735デフォルトの名無しさん2010/11/04(木) 18:28:28
宇宙プログラムってのも中々
0736デフォルトの名無しさん2010/11/04(木) 18:31:51
まあそれなりに高度なプログラマになると宇宙を複合する作業に携わることになるよね
0737デフォルトの名無しさん2010/11/04(木) 18:35:02
>>736
お前は分かっているな。
俺くらいになると例えば宇宙ロケットのエンジン部分のデータ結合は暗号化しなければならないが
暗号化したら復号化ができることが最低必要条件となるから>>719のサイトで暗号理論や記号理論、数理統計情報数学等を
学ぶ必要のあるから、俺は参考ンしてnる・
0738デフォルトの名無しさん2010/11/04(木) 18:41:26
あ痛たたた
0739デフォルトの名無しさん2010/11/04(木) 18:42:09
>>719
SUGEEEEEEEEEEEE
0740デフォルトの名無しさん2010/11/04(木) 19:18:01
シャアはDelphi
0741デフォルトの名無しさん2010/11/04(木) 19:43:04
随分とクソスレになったな。
0742デフォルトの名無しさん2010/11/04(木) 19:44:51
>>741
あ?入門者用の質問スレでなにいってんだ?
0743デフォルトの名無しさん2010/11/04(木) 19:52:40
質問者を馬鹿にしようとする低能が集まるスレだからな
0744デフォルトの名無しさん2010/11/04(木) 20:40:17
>>666
関係ないけどニュース系の板で議論があると
「こんなもん専門版じゃとっくに決着ついてるのに、やれやれ」
みたいなこというヤツいるけど、それと同じものを感じた。
0745デフォルトの名無しさん2010/11/04(木) 20:50:37
>>744
話を蒸し返すなよ
また荒れるだろ
0746デフォルトの名無しさん2010/11/04(木) 20:53:49
freeしてもすぐにOSに返されるわけではないので
終了前でもfreeすべき
0747デフォルトの名無しさん2010/11/04(木) 20:55:54
>>746
えーと
頭悪い?
0748デフォルトの名無しさん2010/11/04(木) 20:56:46
言ってる本人は専門版とかfjにすごい権威を感じてるんだろうけどな。
0749デフォルトの名無しさん2010/11/04(木) 21:00:54
749 = 3^6+20
0750デフォルトの名無しさん2010/11/04(木) 21:04:31
        /          ヽ       ど ん な  か な し い こ と が あ っ て も
     .  i   _,,_ル,,rョュ 、 i
       |  ィ rっフ , 弋ミア |r,      
       _|  "''"~ ハ   ハ   .i;{     や せ が ま ん で も い い
       } ;    / " '  ヽ   |j      
      λヽ    r―''"入  |
       `"i    廷廾ニツ  j       ひ の あ た る ば し ょ で
         i、      ̄   .ノ
          ` ー ,,___,,. /        
              .! .i           お じ ぎ す る の だ
            .. |. |           
              .! .i   ._,,,‐''^^'''''>
    、....,,,,..,,_      ! .;! .,/'゙`,_   .,ノ   そ う  た ん ぽ ぽ の よ う に
    \  .⌒\  │ .|!.,,iミ/ ._,,,./′
      i  '^'''‐、..゙'hノ| .|厂 . ̄′
     .ヽ_    ゙メリ| .|
         ̄ ̄   |. |    ._,,,‐''^^'''''>
0751デフォルトの名無しさん2010/11/04(木) 21:32:14
>>747
お前よりはいい
0752デフォルトの名無しさん2010/11/04(木) 21:40:29
細切りを一個づつ解放するよりも
ばっさりとOS任せでブロックごと解放するほうが効率がいい事くらいわからないとは
0753デフォルトの名無しさん2010/11/04(木) 21:46:08
>>744
議論の内容は憶えていない〜付いて来れなかった >>666 が爺風吹かしてるだけw
0754デフォルトの名無しさん2010/11/04(木) 21:54:52
おすすめのフォント教えてください
0755デフォルトの名無しさん2010/11/04(木) 21:59:49
カスニートばっか
0756デフォルトの名無しさん2010/11/04(木) 22:01:15
カスニートってなんか速そう。
0757デフォルトの名無しさん2010/11/04(木) 22:02:39
>>719
すごいなー
0758デフォルトの名無しさん2010/11/04(木) 22:06:25
金曜日の夜 土曜日の昼 土曜日の夜 日曜日の昼 日曜日の夕 日曜日の夜 月曜の朝
    ↓     ↓      ↓        ↓       ↓        ↓   ↓
                            ┃::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::    ∧||∧
   ∧ ∧   ∧∧     ∧ ∧   ┃::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::  ( / ⌒ヽ
   (・∀・)  ∩∀・)    (・∀・)∩  ┃:::∧∧::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::   | |   |
   / ⊃⊃ ヽ  ⊃ノ   /⊃ /  ....┃:::('д` )::::::::::::::∧∧:::::::::::::::::::::::::::::::::::  ∪ / ノ
 〜(  (    ヽ  )つ 〜( ヽノ  ......┃:::と  ヽ::::::::: ('д` ):::::::(   )⌒ヽ;:::::::::: | ||
   (/(/'      (/     し^ J  ......┃:::⊂,,_UO〜:::(∩∩ ):::::|/.|/uと  )〜::::: ∪∪
0759デフォルトの名無しさん2010/11/04(木) 22:08:11
>>754
マ板にフォントのスレがある
0760デフォルトの名無しさん2010/11/04(木) 22:53:19
>>759
フォントに?
0761デフォルトの名無しさん2010/11/04(木) 23:19:05
名:カスニート・ヘルセゴビナ
性別:男性
概要:
ティターンズのモビルスーツパイロット。
グリプス戦役時、バスク・オム直属の部隊に所属。
独特なカラーリングを施したRMS-106 ハイザックに搭乗。
0762デフォルトの名無しさん2010/11/04(木) 23:46:21
おやすみ〜
0763デフォルトの名無しさん2010/11/05(金) 02:24:46
iTunesが おきあがり
なかまに なりたそうに こちらをみている!
なかまに してあげますか?

┌───┐
│⇒はい│
│いいえ│
└───┘

iTunesが なかまに くわわった!
QuickTimeが なかまに くわわった!
Bonjour for Windowsが なかまに くわわった!
Apple Mobile Device Supportが なかまに くわわった!
Apple Software Updateが なかまに くわわった!
MobileMeが なかまに くわわった!
Apple Application Supportが なかまに くわわった!

Apple Software Updateが Safariを よびよせた!
Apple Software Updateが iPhoneソフトウェアを よびよせた!


:::::::::::.: .:. . ∧_∧ . . . .: ::::::::
:::::::: :.: . . /彡ミ゛ヽ;)ヽ、. ::: : ::
::::::: :.: . . / :::/:: ヽ、ヽ、i . .:: :.: :::
 ̄ ̄ ̄(_,ノ  ̄ ̄ヽ、_ノ ̄

QuickTime をアンインストールしますか?
>はい
なんとiTunes はしんでしまった!

0764デフォルトの名無しさん2010/11/05(金) 02:27:17
データ抽象を優しく説明お願いします
0765デフォルトの名無しさん2010/11/05(金) 03:11:04
>>764
Cでいえば、例えばFILE型の使い方が典型例

FILEをどうやって扱うかというと、
もちろんfopenとかでFILE型へのポインタを得て、それに対して
freadとかfwriteとかやって、最後にfcloseで閉じるという流れがまあ普通だろう

ここで注目して欲しいのが、
「使い手はFILE型の実装を知らなくてもいい」という事実
まあ多くの実装では構造体なのだろうが、そんなことはどうでもいい
なぜなら具体的な処理はfreadとかがやってくれて、我々はFILEの実装に直接触る必要がないから

このようにデータを操作(Cでいう関数)でラッピングして、
データ自体の細部(実装)を隠してしまうことをデータ抽象という
0766デフォルトの名無しさん2010/11/05(金) 04:49:34
優しくということで具体例
たとえばWindowsならCreateFile・ReadFile・WriteFileなどの関数群を
ファイルハンドルというポインタ(のようなもの)などを引数に指定して操作する
http://msdn.microsoft.com/ja-jp/library/cc429198.aspx

一方Linuxなどではopen・read・writeなどの関数群を用いて
ファイルディスクリプタという識別子などを引数にして操作する
http://manpages.courier-mta.org/htmlman2/open.2.html

リンク先で示すようにシステムによってファイルを扱うために必要なデータ・パラメタが異なるが
FILE構造体の内容をシステム毎に変えることにより
使用者はFILE構造体へのポインタとして,システム間の差異を気にせず扱えるようになっている
0767デフォルトの名無しさん2010/11/05(金) 06:28:01
>>763
0768デフォルトの名無しさん2010/11/05(金) 06:58:20
キーボードから'A'の入力を受けるまで1秒間隔で'B'を表示し続けるにはどうしたらいいでしょうか
0769デフォルトの名無しさん2010/11/05(金) 07:57:57
環境依存なのでなんとも
0770デフォルトの名無しさん2010/11/05(金) 08:02:20
>>768
system();
0771デフォルトの名無しさん2010/11/05(金) 08:04:24
>>769
すぐそうやって逃げるのはヘタレ。
If you have no idea 黙ってろ。
0772デフォルトの名無しさん2010/11/05(金) 08:10:45
環境依存なのでなんとも
0773デフォルトの名無しさん2010/11/05(金) 08:33:20
vcなら楽勝だがgccだとメンドイな
0774デフォルトの名無しさん2010/11/05(金) 08:43:12
はぁ? おまえが低能なだけじゃん。
07757682010/11/05(金) 08:55:27
環境はLinuxのgccです
0776デフォルトの名無しさん2010/11/05(金) 10:28:30
unix kbhitでぐぐれ
0777デフォルトの名無しさん2010/11/05(金) 11:07:46
>>765-766
参考書読んでも分からなかったので聞いてみましたが感覚が掴めたように思います。
非常に詳しい解説ありがとうございました。
0778デフォルトの名無しさん2010/11/05(金) 11:11:12
パラメータ2のポアソン分布に従う疑似乱数はどうやって発生させるんですか?
0779デフォルトの名無しさん2010/11/05(金) 11:35:19
>>778
Cの入門で扱うような内容じゃないので乱数スレにでもどうぞ。
0780デフォルトの名無しさん2010/11/05(金) 13:08:40
#include <ncurses.h>

int main(void){
  initscr();
  nodelay(stdscr, TRUE);

  while(1)
  {
    printw("B");
    refresh();
    if(getch() == 'A'){ break; }
    sleep(1);
  }
  endwin();
  return 0;
}
0781あ2010/11/05(金) 13:18:01
#defineを使用した組み込み用プログラムで、

#define reset() config = 0x00;\
          state = 0x32
と宣言した場合、

int main (void)
{
  reset();
}
と記述すれば
int main (void)
{
  config = 0x00;
  state = 0x32;
}
という動作をしますか?
0782デフォルトの名無しさん2010/11/05(金) 13:47:18
そう解釈はするでしょうけれど、コンパイルできないでしょうから動作はしないような。
0783デフォルトの名無しさん2010/11/05(金) 13:52:53
mainかグローバルスコープあたりにconfigとstateが宣言されてたら動くんじゃない?
0784デフォルトの名無しさん2010/11/05(金) 13:57:20
プリプロセッサは
int main(void)
{
  config = 0x00;state = 0x32;
}
こう展開するんだろうけどな。

展開後コンパイルできるコードかどうかは config と state の宣言があるかどうか次第。
0785デフォルトの名無しさん2010/11/05(金) 13:59:23
間違い。 state の前の空白が落ちてた。
今回の件では瑣末事なので忘れてクレイ
07867812010/11/05(金) 14:11:08
今回使用したconfigとstateは既に宣言されているものです、わかりにくくてすみません。

動作するということで、了解しました。
ありがとうございます。
0787デフォルトの名無しさん2010/11/05(金) 14:26:45
お前らは最初ポインタって聞いたときマウスのポインターが思いついた世代ですか?
0788デフォルトの名無しさん2010/11/05(金) 14:35:25
ジュワッ
0789デフォルトの名無しさん2010/11/05(金) 14:37:54
マクロ内に外部の宣言に依存するものを入れるのは気持ち悪い
0790デフォルトの名無しさん2010/11/05(金) 14:41:32
そうでもない
0791デフォルトの名無しさん2010/11/05(金) 14:42:02
マクロ乱用とかきっしょいわ
0792デフォルトの名無しさん2010/11/05(金) 14:53:07
組み込みだとスイッチ類のBIT指定マクロがぎっちりつまったヘッダーが普通にあるよ
OSなんて乗ってないから直接レジスタを操作して信号送ることになる
0793デフォルトの名無しさん2010/11/05(金) 14:54:22
この場合は乱用が適切だな。敢えて濫用と言い換えることもない。
0794デフォルトの名無しさん2010/11/05(金) 16:41:43
>>780
それだと押してからも一回表示されちまから順番変えろ。
再提出。
0795デフォルトの名無しさん2010/11/05(金) 16:53:07
こういう話になると必ず>>792みたいに組み込みとか場違いな話を持ち出す馬鹿が出てくるよね
0796デフォルトの名無しさん2010/11/05(金) 16:55:56
議論を自分のステージに持って行きたいのさ
0797デフォルトの名無しさん2010/11/05(金) 16:58:37
どこのスレでも語尾に「。」をつけてるから同一人部ではないかと思ってる
0798デフォルトの名無しさん2010/11/05(金) 16:59:48
そこに気付くとは。
やはり天才か。
0799デフォルトの名無しさん2010/11/05(金) 17:03:13
私は同一人部だったのか。
0800デフォルトの名無しさん2010/11/05(金) 17:03:48
人部ェ
0801デフォルトの名無しさん2010/11/05(金) 17:08:00
何も句読点だけで判断している訳ではないだろう。対象人物のよく使う単語なり文の使い回しなど考察する対象はいくらでもあるとは思わないかね?
0802デフォルトの名無しさん2010/11/05(金) 17:31:13
そうだね。はい次。
0803デフォルトの名無しさん2010/11/05(金) 17:32:35
フラグツール作りたい
0804デフォルトの名無しさん2010/11/05(金) 17:34:08
京都人は滅ぶべき
0805デフォルトの名無しさん2010/11/05(金) 17:41:03
>>803
プラグスーツに見えた
0806デフォルトの名無しさん2010/11/05(金) 17:42:11
*p[]   ポインタの配列
(*p)[]  配列へのポインタ
0807デフォルトの名無しさん2010/11/05(金) 17:44:19
そんなことはみんな知ってるし聞いてない
0808デフォルトの名無しさん2010/11/05(金) 17:45:24
こんなのに釣られる人っているんだw
0809デフォルトの名無しさん2010/11/05(金) 17:45:35
日本は和人の国である。
和人系じゃないのは日本人でない。
0810デフォルトの名無しさん2010/11/05(金) 17:46:03
かずひと
0811デフォルトの名無しさん2010/11/05(金) 17:47:59
&p[]   
(&p)[]  
これはなーに
0812デフォルトの名無しさん2010/11/05(金) 17:49:19
>>811
未定義です
0813デフォルトの名無しさん2010/11/05(金) 18:24:23
>>789
assert とかどうやって作るんだよ
0814デフォルトの名無しさん2010/11/05(金) 18:28:48
マクロをまともに使ったことが無い奴に限って
マクロを否定する
不思議
0815デフォルトの名無しさん2010/11/05(金) 18:38:02
はいはい不思議不思議
0816デフォルトの名無しさん2010/11/05(金) 18:39:26
マクロが必須なら他の言語はどうなるんだよ
0817デフォルトの名無しさん2010/11/05(金) 18:47:24
ビョーンwwwwwwwwwwww
0818デフォルトの名無しさん2010/11/05(金) 18:48:08
使えるものは使うだろ?
なにいってんだ?
0819デフォルトの名無しさん2010/11/05(金) 18:49:17
はいはい組み込みだと組み込みだと
0820デフォルトの名無しさん2010/11/05(金) 18:50:53
プログラマが欲しいのはLispのマクロであって、Cのマクロじゃないから
0821デフォルトの名無しさん2010/11/05(金) 18:54:41
組み込みだとマクロを使わなきゃやってられない
メモリアドレスを即値で指定するなんて日常茶飯事だからな
C言語は組み込みのための言語だし
0822デフォルトの名無しさん2010/11/05(金) 18:57:41
マクロを関数のように使うのは止めて頂きたい。
とくに関数のようなマクロを入れ子で使って階層の深い場所でreturnとかマジ簡便。
0823デフォルトの名無しさん2010/11/05(金) 19:00:39
簡便ならいいじゃないか。
0824デフォルトの名無しさん2010/11/05(金) 19:04:35
>>822
>マジ簡便。

ならいいじゃん
0825デフォルトの名無しさん2010/11/05(金) 19:16:28
上条のミツバチを思い出した。
0826デフォルトの名無しさん2010/11/05(金) 19:21:41
ならぬ堪忍するが堪忍
お前は簡便おいらは勘弁
マクロは入れ子でマグロは卵
Yeah!
0827デフォルトの名無しさん2010/11/05(金) 19:22:19
>>765
FILE 構造体以外によい例がない件について
0828デフォルトの名無しさん2010/11/05(金) 19:26:38
簡便って簡単に大便・小便できるってことだよね
階層の深い場所でreturnでも、苦しまずにすぐに出れるってことで
超健康的で良いよね
0829デフォルトの名無しさん2010/11/05(金) 19:38:47
>>822
意味がよく分からんので補足してくれ。
min,max,absとかもだめなの?
0830デフォルトの名無しさん2010/11/05(金) 19:50:18
まあ中身が1行のやつは許可してやるよ
0831デフォルトの名無しさん2010/11/05(金) 20:56:06
カウント文の使い方をだれか説明してください
0832デフォルトの名無しさん2010/11/05(金) 20:57:34
for (i = 0; i < num; i++) {
}
0833デフォルトの名無しさん2010/11/05(金) 21:13:58
草食系とかマジ簡便
0834デフォルトの名無しさん2010/11/05(金) 21:15:07
ワロタ
0835デフォルトの名無しさん2010/11/05(金) 22:39:25
マクロは型を定義するのに必要
#define UInt unsigned int
とすればunsigned int型に別名UIntを付けることができる
08367682010/11/05(金) 22:43:10
>>775
>>780
ありがとうございます
両方ともできました
0837デフォルトの名無しさん2010/11/05(金) 22:46:23
>>835
typedefじゃだめなの?
0838デフォルトの名無しさん2010/11/05(金) 22:52:32
>>837
typedefがなかったらどうするの?
0839デフォルトの名無しさん2010/11/05(金) 22:55:48
無意味すぎる。
0840デフォルトの名無しさん2010/11/05(金) 23:01:07
無意味ってw
0841デフォルトの名無しさん2010/11/05(金) 23:03:55
マクロがいやならマクロが無い言語使えばいいじゃん
0842デフォルトの名無しさん2010/11/05(金) 23:04:45
C++なんてどうです?
0843デフォルトの名無しさん2010/11/05(金) 23:08:16
>>827
確かに多くはないだろうが、無いわけじゃない
思いつくのはsetjmp/longjmp
0844デフォルトの名無しさん2010/11/05(金) 23:08:41
>>842
組み込みではC言語とC++を使います
0845デフォルトの名無しさん2010/11/05(金) 23:38:53
include や define一段だけ使ってるうちならいいけど
深みにハマるとプリプロセッサは超難解ミニ言語だからね
0846デフォルトの名無しさん2010/11/05(金) 23:49:14
正則言語にすら及ばず、置き換えしかできないものを「言語」と言っちゃうかw
0847デフォルトの名無しさん2010/11/05(金) 23:50:27
>>846
CSTL くらいになると言語っぽい
0848デフォルトの名無しさん2010/11/05(金) 23:51:13
データベース言語とかマークアップ言語とかありますので
0849デフォルトの名無しさん2010/11/06(土) 00:09:24
>>848
それマクロじゃないし
お前「言語」って何かわかってないだろ
0850デフォルトの名無しさん2010/11/06(土) 00:12:26
>>849
「言語」って何?
0851デフォルトの名無しさん2010/11/06(土) 00:12:51
↓ググれ
0852デフォルトの名無しさん2010/11/06(土) 00:13:21
>>850
文字の集合と文法の集合の組
0853デフォルトの名無しさん2010/11/06(土) 00:14:28
やーい、答えられねーw
0854デフォルトの名無しさん2010/11/06(土) 00:15:09
文字がない言語が意外に身近にあるわけだが
0855デフォルトの名無しさん2010/11/06(土) 00:15:23
>>852
データベース言語とかマークアップ言語とかありますので
0856デフォルトの名無しさん2010/11/06(土) 00:17:11
>>854
そういう要素を「文字(アルファベット)」って言うんだよ
0857デフォルトの名無しさん2010/11/06(土) 00:18:41
>>848=>>855は何が言いたいのかわからん
0858デフォルトの名無しさん2010/11/06(土) 00:19:54
データベース言語とかマークアップ言語とかありますので
0859デフォルトの名無しさん2010/11/06(土) 00:21:01
データベース言語とかマークアップ言語とかありますので
0860デフォルトの名無しさん2010/11/06(土) 00:21:38
>>857
お前「言語」って何かわかってないだろ
0861デフォルトの名無しさん2010/11/06(土) 00:22:06
データベース言語とかマークアップ言語とかありますので
0862デフォルトの名無しさん2010/11/06(土) 00:22:44
お前「言語」って何かわかってないだろ
0863デフォルトの名無しさん2010/11/06(土) 00:23:45
データベース言語とかマークアップ言語とかありますので
0864デフォルトの名無しさん2010/11/06(土) 00:24:47
お前「言語」って何かわかってないだろ
0865デフォルトの名無しさん2010/11/06(土) 00:25:15
データベース言語とかマークアップ言語とかありますので
0866デフォルトの名無しさん2010/11/06(土) 00:25:37
そんなことはみんな知ってるし聞いてない
0867デフォルトの名無しさん2010/11/06(土) 00:26:13
データベース言語とかマークアップ言語とかありますので
0868デフォルトの名無しさん2010/11/06(土) 00:26:59
お前「言語」って何かわかってないだろ
0869デフォルトの名無しさん2010/11/06(土) 00:27:19
データベース言語とかマークアップ言語とかありますので
0870デフォルトの名無しさん2010/11/06(土) 00:28:06
データベース言語とかマークアップ言語とかありますので
0871デフォルトの名無しさん2010/11/06(土) 00:28:47
データベース言語とかマークアップ言語とかありますので
0872デフォルトの名無しさん2010/11/06(土) 00:29:34
データベース言語やマークアップ言語ってマクロなの?
0873デフォルトの名無しさん2010/11/06(土) 00:29:45
データベース言語とかマークアップ言語とかありますので
0874デフォルトの名無しさん2010/11/06(土) 00:30:51
データベース言語とかマークアップ言語とかありますので
0875デフォルトの名無しさん2010/11/06(土) 00:31:18
>>872
お前「言語」って何かわかってないだろ
0876デフォルトの名無しさん2010/11/06(土) 00:31:59
データベース言語とかマークアップ言語とかありますので
0877デフォルトの名無しさん2010/11/06(土) 00:32:26
>>875
データベース言語とかマークアップ言語とかありますので
0878デフォルトの名無しさん2010/11/06(土) 00:33:29
マクロ言語とかありますので
0879デフォルトの名無しさん2010/11/06(土) 00:33:35
データベース言語とかマークアップ言語とかありますので
0880デフォルトの名無しさん2010/11/06(土) 00:34:38
データベース言語とかマークアップ言語とかはマクロなので
0881デフォルトの名無しさん2010/11/06(土) 00:35:12
マクロ言語とかありますので、マクロは言語じゃないので
0882デフォルトの名無しさん2010/11/06(土) 00:35:25
>>875
データベース言語とかマークアップ言語とかありますので
0883デフォルトの名無しさん2010/11/06(土) 00:37:21
C言語のマクロはマクロ言語なので
0884デフォルトの名無しさん2010/11/06(土) 00:37:32
データベース言語とかマークアップ言語とかありますので
0885デフォルトの名無しさん2010/11/06(土) 00:37:53
C言語のマクロはデータベース言語とかマークアップ言語なので
0886デフォルトの名無しさん2010/11/06(土) 00:38:18
データベース言語とかマークアップ言語とかありますので
0887デフォルトの名無しさん2010/11/06(土) 00:38:31
データベース言語とかマークアップ言語とかありますので
0888デフォルトの名無しさん2010/11/06(土) 00:38:34
>>1-1000
お前「言語」って何かわかってないだろ
0889デフォルトの名無しさん2010/11/06(土) 00:39:11
>>888
データベース言語とかマークアップ言語とかありますので
0890デフォルトの名無しさん2010/11/06(土) 00:39:28
データベース言語とかマークアップ言語とかありますので
0891デフォルトの名無しさん2010/11/06(土) 00:40:08
データベース言語とかマークアップ言語とかありますので
0892デフォルトの名無しさん2010/11/06(土) 00:40:19
データベース言語とかマークアップ言語とかありますので
0893デフォルトの名無しさん2010/11/06(土) 00:40:44
データベース言語とかマークアップ言語とかありますので
0894デフォルトの名無しさん2010/11/06(土) 00:41:19
結局これで埋めるのか。よほど悔しかったんだな
0895デフォルトの名無しさん2010/11/06(土) 00:41:20
データベース言語とかマークアップ言語とかありますので
0896デフォルトの名無しさん2010/11/06(土) 00:41:39
ええ、悔しくて夜も眠れません。
0897デフォルトの名無しさん2010/11/06(土) 00:42:09
>>894
データベース言語とかマークアップ言語を馬鹿にするなよ屑
0898デフォルトの名無しさん2010/11/06(土) 00:42:20
データベース言語とかマークアップ言語とかありますので
0899デフォルトの名無しさん2010/11/06(土) 00:42:54
データベース言語とかマークアップ言語とかありますので
0900デフォルトの名無しさん2010/11/06(土) 00:43:23
データベース言語とかマークアップ言語とかありますので
0901デフォルトの名無しさん2010/11/06(土) 00:43:35
データベース言語とかマークアップ言語とかありますので
0902デフォルトの名無しさん2010/11/06(土) 00:44:17
データベース言語とかマークアップ言語とかありますので
0903デフォルトの名無しさん2010/11/06(土) 00:44:23
Cのマクロしか知らない奴は、あまりマクロがどうとか一般論的に言うなよ
0904デフォルトの名無しさん2010/11/06(土) 00:44:39
なんにしてもCのマクロは少し機能が足りない
0905デフォルトの名無しさん2010/11/06(土) 00:45:15
>>903は一体どんなマクロを見せてくれるのでしょうか
0906デフォルトの名無しさん2010/11/06(土) 00:45:42
データベース言語とかマークアップ言語とかありますので
0907デフォルトの名無しさん2010/11/06(土) 00:45:52
データベース言語とかマークアップ言語とかありますので
0908デフォルトの名無しさん2010/11/06(土) 00:46:54
データベース言語とかマークアップ言語ってCのマクロになんか関係あるの?
0909デフォルトの名無しさん2010/11/06(土) 00:48:23
>>908
すべてマクロ言語
0910デフォルトの名無しさん2010/11/06(土) 00:48:32
>>908
「言語」には関係あるだろ
0911デフォルトの名無しさん2010/11/06(土) 00:49:49
置き換えも、AならばBである。というもっとも単純な論理型言語と言えなくもないかもしれないだろ
0912デフォルトの名無しさん2010/11/06(土) 00:50:17
データベース言語とかマークアップ言語とかありますので
0913デフォルトの名無しさん2010/11/06(土) 00:51:42
>>911
言語であることは正しいが、論理型言語という言葉は誤解を生むぞ
0914デフォルトの名無しさん2010/11/06(土) 00:53:31
>>911
論理型言語ってのはPrologみたいなのを指すんだけど、Cのマクロとはちょっと違う気がする
あと、上でなんか誤解している人がいるがCのマクロは正則言語だよ
0915デフォルトの名無しさん2010/11/06(土) 00:54:21
>>914
データベース言語とかマークアップ言語とかありますので
0916デフォルトの名無しさん2010/11/06(土) 00:55:43
藻前らここでも見て勉強汗
http://studiokingyo.fc2web.com/
09179142010/11/06(土) 00:58:00
間違えた
Cの仕様書を見る限りCのマクロはCFLと言ってもよさそうだね;
0918デフォルトの名無しさん2010/11/06(土) 00:58:12
>>914誤解してる奴がアホなだけ
0919デフォルトの名無しさん2010/11/06(土) 01:00:02
>>12-1000
データベース言語とかマークアップ言語とかありますので
0920デフォルトの名無しさん2010/11/06(土) 01:02:32
>>914
それはCのマクロが貧弱極まりないから
0921デフォルトの名無しさん2010/11/06(土) 01:07:37
そりゃ論理型言語になるように機能追加してったら論理型言語になるだろうよ
0922デフォルトの名無しさん2010/11/06(土) 01:09:59
文字列結合マクロってコンパイラによってできないのがあるんだっけ?
0923デフォルトの名無しさん2010/11/06(土) 01:13:19
関数型でもいいわけで
LISPのマクロには敵いません
0924デフォルトの名無しさん2010/11/06(土) 01:15:20
誰かCにlambda式を追加してあげなよ。かわいそう
0925デフォルトの名無しさん2010/11/06(土) 01:16:10
と思ったらあった。プログラミング言語C with lambda。
0926デフォルトの名無しさん2010/11/06(土) 01:16:23
>>924
C++ならBoostがあるが、C言語にはそういうライブラリないの?
0927デフォルトの名無しさん2010/11/06(土) 01:22:57
Cは関数オブジェクトをもっと扱いやすくしてくれたらいいのに
無名関数とか使えたら便利
0928デフォルトの名無しさん2010/11/06(土) 01:27:14
組み込みではマクロ使うのは割と普通だよ
0929デフォルトの名無しさん2010/11/06(土) 01:34:36
#define int long
0930デフォルトの名無しさん2010/11/06(土) 02:22:37
    List<int> a;
#pragma scala
    a = for (x <- 0 until 10) yield (x, x * x);
#pragma end scala
0931デフォルトの名無しさん2010/11/06(土) 03:46:23
931get
0932デフォルトの名無しさん2010/11/06(土) 04:15:59
あずにゃん
0933デフォルトの名無しさん2010/11/06(土) 09:03:46
>>715
あの統合開発環境の画面から察して、
LabVIEWかVisualAdaだろ。
もしかしたらMindstormかもしれないけど。

ちなみにOSを書き換えた訳じゃないぞ。
台詞を聞けば分かるように、パラメータの最適化と
制御モジュール切り捨てて軽くしただけだ。
制御モジュール捨てたせいで、キラ以外に扱えない機体になったけどな。
0934デフォルトの名無しさん2010/11/06(土) 11:48:33
簡単に言うと RegSeeker ってことかw
0935デフォルトの名無しさん2010/11/06(土) 12:45:54
>>933
コードが全く表示されてなかったのは?
0936デフォルトの名無しさん2010/11/06(土) 13:56:38
ウニョ
0937デフォルトの名無しさん2010/11/06(土) 17:01:49
ウニョ
0938デフォルトの名無しさん2010/11/06(土) 18:06:22
あずにゃん
0939デフォルトの名無しさん2010/11/06(土) 18:31:54
ペロペロ
0940デフォルトの名無しさん2010/11/06(土) 19:05:27
#define INC(x) ( (x) = (x)++ + ++(x) )

int n = 0;
n = INC(n) + 1;
0941デフォルトの名無しさん2010/11/06(土) 19:42:33
ウニョ
0942デフォルトの名無しさん2010/11/06(土) 19:51:41
荒らしは運営に通報した!
0943デフォルトの名無しさん2010/11/06(土) 20:12:36
ウニョ
0944デフォルトの名無しさん2010/11/06(土) 20:18:53
ビットシフトはなんの役に立つのでしょうか?
0945デフォルトの名無しさん2010/11/06(土) 20:21:08
埋め
0946デフォルトの名無しさん2010/11/06(土) 20:49:31
mallocで確保したメモリが本当に初期化されていないか
この目で確かめてみたいのですが
何か良い方法ありませんか?
0947デフォルトの名無しさん2010/11/06(土) 20:55:49
>>946
デバッガで見るか、printf()で出してみるか。
0948デフォルトの名無しさん2010/11/06(土) 20:59:38
そもそも初期化って意味わかってんのか?
0949デフォルトの名無しさん2010/11/06(土) 21:00:42
>mallocで確保したメモリが本当に初期化されていないか
なんかワロタww
0950デフォルトの名無しさん2010/11/06(土) 21:02:36
不定値が常に0だったとしても違反ではないんだぞ
0951デフォルトの名無しさん2010/11/06(土) 21:03:20
フフフフフフフフフフフフフフフフ
0952デフォルトの名無しさん2010/11/06(土) 21:05:13
どっかで「malloc()でとったメモリ、初期化してねーのかよ、ど素人かよ」とか
煽られてムカついてなんとか言い返したいのかなとか、想像してみる。
0953デフォルトの名無しさん2010/11/06(土) 21:06:00
>>952
そういう経験をしたのですね
0954デフォルトの名無しさん2010/11/06(土) 21:10:47
>>946
http://codepad.org/WyAJyeG7
0955デフォルトの名無しさん2010/11/06(土) 21:11:02
>>952
だとしてもそんな処理系依存の答えを返したらもっと笑われるだろ
0956デフォルトの名無しさん2010/11/06(土) 21:12:32
>>955
そこまで分かってたら、初期化されていないか目で確かめたいって発想がわかないと思う。
0957デフォルトの名無しさん2010/11/06(土) 21:13:49
┏━━━━━━━━━━━━┓
┃初期化しませんか?   ┃
┃            ┃
┃   [はい][いいえ]┃
┗━━━━━━━━━━━━┛

0958デフォルトの名無しさん2010/11/06(土) 21:17:21
値を確認することは出来るかもしれないが
肉眼で確認するのは難しいんじゃないか?
0959デフォルトの名無しさん2010/11/06(土) 21:19:29
たまたま全部0だった場合に何て言い出すのか気になるw
0960デフォルトの名無しさん2010/11/06(土) 21:25:58
初期化はされるものじゃなくてするものだよ。
0961デフォルトの名無しさん2010/11/06(土) 21:27:16
>>960
0962デフォルトの名無しさん2010/11/06(土) 21:33:06
初期化はするものじゃなくてされるものだよ。
0963デフォルトの名無しさん2010/11/06(土) 21:36:57
この速さなら言える!初期化!
0964デフォルトの名無しさん2010/11/06(土) 21:41:08
最近はセキュリティー上の配慮もあって
0で初期化されたメモリを返す処理系も多いけどな。
Windowsも初期化されたメモリを割り当てるんじゃ無かったけっけ?

0965デフォルトの名無しさん2010/11/06(土) 21:42:09
だから何?
0966デフォルトの名無しさん2010/11/06(土) 21:43:27
>>965
mallocは初期化するじゃんwww
0967デフォルトの名無しさん2010/11/06(土) 21:44:55
だからそれは初期化じゃねんだってば。
0968デフォルトの名無しさん2010/11/06(土) 21:47:20
>>967
最近はセキュリティー上の配慮もあって
0で初期化されたメモリを返す処理系も多いけどな。
Windowsも初期化されたメモリを割り当てるんじゃ無かったけっけ?
0969デフォルトの名無しさん2010/11/06(土) 21:48:18
んなことない
0970デフォルトの名無しさん2010/11/06(土) 21:49:33
>>969
初期化されないOSなんてセキュリティホールそのものだから早く捨てろよ
0971デフォルトの名無しさん2010/11/06(土) 21:52:44
バカが来たようだ
0972デフォルトの名無しさん2010/11/06(土) 21:56:13
>>968
いま見てみたらgccでもvcでも初期化されてないようだ。
0973デフォルトの名無しさん2010/11/06(土) 22:00:57
こんな屁理屈言うってことは >>952 みたいな感じなんだろうな。
0974デフォルトの名無しさん2010/11/06(土) 22:09:52
次スレ立てます
0975デフォルトの名無しさんNGNG?S★(531777)
次スレ立てました
C言語なら俺に聞け(入門編)Part 73
http://hibari.2ch.net/test/read.cgi/tech/1289049065/
0976デフォルトの名無しさん2010/11/06(土) 22:18:28
立派なのが起ちました
0977デフォルトの名無しさん2010/11/06(土) 23:04:55
Win32APIでOpenProcess()があるけど、GCCでそれ相当の関数ってありますか?

Window環境とLinux環境で別プロセスのメモリ内容を参照したいんですけど、
Windowsは、OpenProcess()使えば出来そうなのですが、
Linuxでの手段が思い当たりませんでした・・・
0978デフォルトの名無しさん2010/11/06(土) 23:05:42
fork()
0979デフォルトの名無しさん2010/11/06(土) 23:07:34
ptrace(2)
0980デフォルトの名無しさん2010/11/06(土) 23:20:38
mallocはメモリを確保する
確保=初期化なんだから、初期化されてると見なしてもいい
0981デフォルトの名無しさん2010/11/06(土) 23:28:24
埋め
0982デフォルトの名無しさん2010/11/06(土) 23:28:57
>>977
ptrace で ATTACH して /proc/<プロセスID>/mem を open して seek して read するといいらしいよ
0983デフォルトの名無しさん2010/11/06(土) 23:29:14
>>982
糞
0984デフォルトの名無しさん2010/11/06(土) 23:30:29
データベース言語とかマークアップ言語とかありますので
0985デフォルトの名無しさん2010/11/06(土) 23:32:19
埋め
0986デフォルトの名無しさん2010/11/06(土) 23:33:01
教えて頂き、ありがとうございます。
試してみます!
09879462010/11/06(土) 23:35:50
>>949
セキュリティプログラミングのPDFを読んでいてた。
mallocで確保されたメモリが初期化されていなかたために、
脆弱性を作り出してしまったって記事を読んだ。
なので、本当にmallocで初期化されたメモリが初期化されていないか確かめたかったわけ

>>980
それってさ、もっと高級な言語の話じゃないの
0988デフォルトの名無しさん2010/11/06(土) 23:37:25
>>980
馬鹿発見
0989デフォルトの名無しさん2010/11/06(土) 23:40:52
>>987
>なので、本当にmallocで初期化されたメモリが初期化されていないか確かめたかったわけ
初期化されていないデータがどのようなものか調べないと意味がない。
初期化されないなんてのははっきりいって規格にも書いてあること。
0990デフォルトの名無しさん2010/11/06(土) 23:43:24
>>988
釣られるなよ
0991デフォルトの名無しさん2010/11/06(土) 23:45:48
ウニョ
0992デフォルトの名無しさん2010/11/06(土) 23:51:08
ピャピャピャー
0993デフォルトの名無しさん2010/11/06(土) 23:52:15
データベース言語とかマークアップ言語とかありますので
0994デフォルトの名無しさん2010/11/06(土) 23:52:42
だから、0クリアされてたとしても
それは初期化とはいえんだろ。
初期化の意味わかってんのか?
0995デフォルトの名無しさん2010/11/06(土) 23:53:02
callocってのがなかったっけ
0996デフォルトの名無しさん2010/11/06(土) 23:53:50
コピペの奴はそうとう悔しかったんだな
0997デフォルトの名無しさん2010/11/06(土) 23:54:01
>>995
ある。そっちは初期化される。
0998デフォルトの名無しさん2010/11/06(土) 23:54:11
えっ
0999デフォルトの名無しさん2010/11/06(土) 23:58:41
calloc使え
1000デフォルトの名無しさん2010/11/06(土) 23:58:46
Haskellが1000get
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。