C言語なら、俺に聞け! <18>
■ このスレッドは過去ログ倉庫に格納されています
0001きょうはいいテンキーです。日下部陽一
NGNGいろいろな言語を極めたが、一番手になじむのはCだった。
Cのことならぜんてわかるから、疑問な点があったら漏れに聞け。
だが、いちいちFAQに載った質問に応えるほど暇じゃない。
課題丸投げなら別スレにいけ。
・comp.lang.c Frequently Asked Questions
http://www.eskimo.com/~scs/C-faq/top.html
・C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
Cプログラマならこれを買っとけ。
・プログラミング言語C(K&Rと呼べば通だ)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/yfcbookshelf-22/250-3950205-1475419
K&Rで挫折するような救いがたいやつはこれでも読め
・作ってわかるCプログラミング(アヒル本と呼べば通だ)
http://dennou.gihyo.co.jp/books/void_c/
http://www.amazon.co.jp/exec/obidos/ASIN/477411328X/249-4698746-2014711
推薦図書/必読書のためのスレッド PART3
http://pc.2ch.net/test/read.cgi/tech/1016722820/
・前スレ C言語なら、俺に聞け! <17>
http://pc.2ch.net/test/read.cgi/tech/1019372139/l50
0322318
NGNG0323デフォルトの名無しさん
NGNG0324デフォルトの名無しさん
NGNGそれなら同意だが。
ユーザーが勝手に定義し直しても・・・ってことだとオモタヨ
0325デフォルトの名無しさん
NGNG何で消えたんだろ?
0326ふか
NGNGあれ?プロトタイプに引数名は書いた方がいいのか。
今,標準ライブラリヘッダもみたけど,たしかにそうだった・・・。
んじゃ,引数名書かないことの意義は?
あと話をまとめると
・動かない処理系がある
・書かないとコンパイラではint型と認識する
・漏れが >>294 で書いたアーカイブ間で相互参照するときに,
宣言しとかないとリンクできない
くらいですかね?
0327デフォルトの名無しさん
NGNGコンパイラはプロトタイプからは引数の型しか見ないから書いても書かなくてもよい。
でも書いた方が人間には優しい。
0328デフォルトの名無しさん
NGNGポインタという整数型にnilという状態を持たせたら、そのビットパターンは整数値として有効な範囲に
いる可能性が出てきますよね?
0329デフォルトの名無しさん
NGNGstdlib.hをインクルードしないで、
char *str;
str=(char *)malloc(478);
とかやってみな。
0330デフォルトの名無しさん
NGNG変数名が不適切なときの修正が楽。
0331デフォルトの名無しさん
NGNG>299
>ハードウェアで bitパターンが all 0 でない物がNULLポインタである可能性があるんだから
って言ってるじゃん。
0332デフォルトの名無しさん
NGNGファイルサイズをほんの少し小さくできる。
0333315
NGNG>>298=321とは別人だけど、321と同じようにとった
つうか、>>306の処理系云々と言うのは普通そうとると思うけど、
ユーザーが書きかえると思う人の方が多いの?
0334デフォルトの名無しさん
NGNG一宣言一行に収まって見た目が美しい。
…ってメリットにはならんな。
0335デフォルトの名無しさん
NGNGポインタは整数型じゃないけど?
0336デフォルトの名無しさん
NGNG> ポインタという整数型に
ってのがちょっと意味不明なんだけど、
ポインタという名前の整数型の変数に?
0337デフォルトの名無しさん
NGNG>ビットパターン 0 が null pointer だって教え方がまず間違ってるよ
>>299は
「ビットパターン 0 以外のものが null pointerである可能性がある」
としか読めないが?
0338デフォルトの名無しさん
NGNGプロトタイプ宣言はきちんと書いていますか?
0339デフォルトの名無しさん
NGNG必要ならやります(というかやらざるを得ない)が、何か?
0340デフォルトの名無しさん
NGNG0341デフォルトの名無しさん
NGNGhttp://www.inet-lab.org/ted/program/prog064.html#064.6
によると、
int (* search_command(char* buf))(const char*);
int (* search_command(char* buf))(const char*)
{
return cmd_list[0].func;
}
らしい。なんか奇妙な感じ。
0342ふか
NGNG。。。動きましたけど・・・(漏れも動くとはおもわなんだ)
#include <stdio.h>
int main(){
#define AL_SIZ (478)
char *str = NULL;
str=(char *)malloc(AL_SIZ);
if( !str ){
printf("alloc error\n");
return(0);
}
memset(str,0x00,AL_SIZ);
strcpy(str,"hoge hoge hoge\n");
printf("%s",str);
free(str);
return(0);
}
0343デフォルトの名無しさん
NGNG0344デフォルトの名無しさん
NGNG必要無くてもやる
0346ふか
NGNGなんですか,それ?
0347デフォルトの名無しさん
NGNGそりゃ動くだろ。
でもコンパイラに文句言われなかったか?
ものによっては言われないのかな。
0348デフォルトの名無しさん
NGNGそのくらいは普通
0349デフォルトの名無しさん
NGNG検索しろよ。
ところで、みんな本気で書いてるのか?
機械出力させるのが自然だと思ってたんだが。
0351デフォルトの名無しさん
NGNG高級言語マシンなら…
たしかWirthが作ったModula-2マシンのLilithや
Lispマシンにはあったはずだ。
今だと「dereferenceしたらトラップがかかるポインタ」っていう
くらいかな。0番地のページに保護をかけることができれば0で良い。
0352デフォルトの名無しさん
NGNG俺は200行でも以上だと思いますが。
0353デフォルトの名無しさん
NGNG関数をつくるたびにヘッダーファイルにコピペしてセミコロンをつけるだけじゃん。
0354ふか
NGNGワーニソグもなしでした。
尤も最近のC言語コンパイラは
//コメント
とか
処理の後の変数宣言までワーニングなしで通しちゃいますからねぇ・・・
0355デフォルトの名無しさん
NGNGそれで合ってるけど、猿にもわかるようにtypedefするのが親切ってもんでしょ。
0356デフォルトの名無しさん
NGNG激しく可読性が落ちないかな?
0358デフォルトの名無しさん
NGNG0359デフォルトの名無しさん
NGNGを機械にチェックさせるとミスが減るけど、
機械が本体から作ったプロトタイプだとチェックにならない。
0360デフォルトの名無しさん
NGNGコメントつければ大丈夫だYO!
0361デフォルトの名無しさん
NGNGそれは勘違いでは?
プロトタイプチェックしてほしいのは、その関数を使う人で、
関数を書く人にとっては自動でもいいような。
0362デフォルトの名無しさん
NGNGうどんが一玉あるんだけど、具になりそうなものは何も無いんだ。
(卵はあるけど月見うどん嫌い)
かけうどんざるうどん、どっちにするのがいいと思う?
0363デフォルトの名無しさん
NGNGざるうどんNULLポインタ添え
0364デフォルトの名無しさん
NGNG具無し焼きうどん
0365デフォルトの名無しさん
NGNGNULLの中身は0ですか?1ですか?
私は1の方がおいしいと思いますよ
0366デフォルトの名無しさん
NGNG-4
0367デフォルトの名無しさん
NGNG話題がうどんにシフト! (一時的)
0368デフォルトの名無しさん
NGNGそれ食べたことあるYO!
おいしかったYO!
スレ違いスマソ YO!
0369デフォルトの名無しさん
NGNGお、なるほど。
「本体書いた後へッダにコピペする」時のミスが減るかもね。
しかし、「呼び出し仕様が先に決まってる」って方が良くあるんじゃ?
0370ふか
NGNG0371デフォルトの名無しさん
NGNG0372デフォルトの名無しさん
NGNG誰か〜
0373デフォルトの名無しさん
NGNGうらやましいだろ。(´ー`)うどんマンセー・・・。
世界で最もうまい食べ物は
1.豆腐
2.うどん
3.おでん
だな。
0374デフォルトの名無しさん
NGNGハヤシライス様が抜けてるぞ。ワーストの話か?
0375デフォルトの名無しさん
NGNG0376デフォルトの名無しさん
NGNG1わさび
2鷹の爪
3故障
だな。
0377デフォルトの名無しさん
NGNGこれ嫌い。
void kansudesuyo(char mojiretsunano *)
と書いて。
0378udon.c
NGNG#include <stdio.h>
int main() {
srand(time());
if (rand()%2) {
puts("ざる");
} else {
puts("かけ");
}
return 0;
}
2回以上やると、やっぱり迷ってしまう罠。
0379デフォルトの名無しさん
NGNGtimeの実引数が足りません。
0380デフォルトの名無しさん
NGNG0381デフォルトの名無しさん
NGNGその考えたかやめれ。修羅場で修正したらどうせコメントなんか修正しないんだ
から。typedef 推奨だ。
extern int usbmon_quit (const char* s);
typedef int (*CmdFunc)(const char *);
typedef struct {
CmdFunc func;
} CmdList;
static const CmdList cmd_list[] = {
{ usbmon_quit },
};
static CmdFunc search_command(char * buff)
{
return cmd_list[0].func;
}
0382デフォルトの名無しさん
NGNG#include <stdlib.h>
もしときましょう。
0383ふか
NGNG多分今の環境には馴染まないので,出力ツールは使わないとはおもいますが,
そういうものがあるというのもまた勉強になったYO!
そいでは漏れはiStudyの続きをば・・・
0385デフォルトの名無しさん
NGNGやだもん
0386デフォルトの名無しさん
NGNG寝るなよおめーら
0387デフォルトの名無しさん
NGNG#include <stdlib.h>
#include <time.h>
#include <noodle.h>
も入れとけゴルァ!!
あ、最後のは>>378のコードだと必要ないか。
0388デフォルトの名無しさん
NGNGかけが出てしまった・・・
0389デフォルトの名無しさん
NGNGLinuxとかならgetpidでも良さそうだけど。
0391デフォルトの名無しさん
NGNGつぅか海苔のあるなしでは?
0393デフォルトの名無しさん
NGNGそれはもりそばとざるそばのことだYO!
かけうどんは揚げ玉のないたぬきうどんだYO!
0394372
NGNGどうか生霊となって私めに降臨ください・・・(´人`)ナム-
0395デフォルトの名無しさん
NGNG違うだろ。それを言うなら、ざるともりだ。
ちゃんと仕様書嫁。
0396デフォルトの名無しさん
NGNG/dev/random を読むダロー
0397デフォルトの名無しさん
NGNGざるに海苔があるかどうかは処理系依存ってかいてあるけど・・・
0398デフォルトの名無しさん
NGNG|| スルスル
||
||
∧||∧
( ⌒ ヽ
∪ ノ >>394 神です・・・
∪∪
0399デフォルトの名無しさん
NGNG0401デフォルトの名無しさん
NGNGtypedef たぬき きつねそば
と
typedef きつねそば たぬき
はどちらがANSIですか?
0402デフォルトの名無しさん
NGNG0403デフォルトの名無しさん
NGNG0404デフォルトの名無しさん
NGNGそう思ったらおまえもC++へ以降だ。
0405デフォルトの名無しさん
NGNG488人
0406デフォルトの名無しさん
NGNG処理系によって「たぬきうどん」は別物
0407デフォルトの名無しさん
NGNGヾ(゚∀゚)ノ >>399 C使いはたいがい別の言語もやってるから
( ) )) そういう判断はできないYO
(( < <
0408デフォルトの名無しさん
NGNGポインタを整数にしたら戻せないかもしれないとか
プロトタイプを書かないと動かないかもしれないとか
悩まなくて良かった昔が懐かしい。
もー決めちゃったらどうかな?
「NULLは0」
「ポインタはlongと同じサイズ」
「プロトタイプ書かなくてもコンパイラは困らないが
書かないとエラー」
「charは符号付き」
0409372
NGNGキタ━━(。A。)━━ァ!
首吊ったいつもの神様が後輪されたァッ!!
今夜は逝けそうだ!
0410デフォルトの名無しさん
NGNG教えてくれますか?
女性プログラマに優しく教えてほしいよ
0411デフォルトの名無しさん
NGNG他人に迷惑をかけない程度なら良いんでない?
0412デフォルトの名無しさん
NGNGC2002とか?
0413デフォルトの名無しさん
NGNG京都に行ったときにたぬきうどんをたのんだら
あんかけ生姜乗りきつねうどんが来た。
(当時はあんかけも生姜も苦手だった。)
普通にきつねうどんを頼んだ友達は
普通のきつねうどんをうまそうに食ってた。
0414デフォルトの名無しさん
NGNG||
||
∧||∧
( ⌒ ヽ >>409 あれ、また君ですか・・・?
∪ ノ どっかのスレの500・・・
∪∪
0415デフォルトの名無しさん
NGNGそっか。。
なんかあのおっさんむかつくよ!
fileをfと略すなとか。じゃあ標準ライブラリのfopen(以下略
0416デフォルトの名無しさん
NGNGということはたぬき==揚げ玉は処理系依存か。
0417415
NGNG0418デフォルトの名無しさん
NGNGAsian Noodle Standard for Information によると、
残念ながら地方依存です。
0419デフォルトの名無しさん
NGNG0420デフォルトの名無しさん
NGNGワラタ。ANSIか。
■ このスレッドは過去ログ倉庫に格納されています