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

C言語なら俺に聞け! Part 123

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2006/02/26(日) 13:58:25
まず問題を冷静に吟味してCの話か否かをはっきりさせてから質問しましょう。
質問する前には最低限検索を。

GUIなどの標準Cではできない事の質問,ソース丸投げ、宿題、書籍 は専門の別スレッドがあるのでそこへさようなら。

エラー(警告含む)が起きたのならばエラーメッセージを書きましょう。

C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/

他の過去ログはここに
http://nssearch.hp.infoseek.co.jp/clang/
前スレ
C言語なら俺に聞け! Part 122
http://pc8.2ch.net/test/read.cgi/tech/1139570025/
0951デフォルトの名無しさん2006/03/13(月) 23:17:55
俺は>>948だ。>>948は嘘だから>>950に従っておけ。
あと質問は一回にまとめろ。本はやさしいものを買え。
09529442006/03/13(月) 23:21:53
分かりました
どうもありがとうございました
0953デフォルトの名無しさん2006/03/13(月) 23:24:00
つーか、スレ違いだがね。
0954デフォルトの名無しさん2006/03/13(月) 23:24:13
>>948
こりゃまた最悪な種をまいたもんだな
0955デフォルトの名無しさん2006/03/13(月) 23:40:37
C言語用に、関数仕様書やフローチャートなんかを
自動生成するツールがあれば教えてもらえると嬉しいです。
0956デフォルトの名無しさん2006/03/13(月) 23:41:09
doxygen
0957デフォルトの名無しさん2006/03/13(月) 23:42:20
doxygenにフローチャートの作成機能なんてあったか?
クラス図作成機能があったのは知ってるが
0958デフォルトの名無しさん2006/03/13(月) 23:45:53
ソース読み込んでフローチャートを自動作成するやつあったら俺も知りたい
0959デフォルトの名無しさん2006/03/14(火) 00:01:29
>>955
関数仕様書や処理フローも無く、どう製造するのかと問いたい。
0960デフォルトの名無しさん2006/03/14(火) 00:04:08
>>955
因果関係が逆
関数からどんな意図が推定できるかではなく(ソース読む人を馬鹿にしすぎ)、
どんな意図からその関数が出てきたのかを示さねば人手で資料を作る意味はない
09619552006/03/14(火) 00:19:07
他人のソース読む際の
足がかりに出来ないかなとか考えてました。
0962デフォルトの名無しさん2006/03/14(火) 00:39:31
最初からそう言えやー
普通はタグテーブル作って参照できるようにするだけじゃないかね
0963デフォルトの名無しさん2006/03/14(火) 00:41:07
doxygen
0964デフォルトの名無しさん2006/03/14(火) 00:44:35
素人は思いもよらぬ発想でコード組んだりするので結構読めんもんだよ。
0965デフォルトの名無しさん2006/03/14(火) 00:47:43
>>955さんではないですけど私も今他人のコードを読んでるんですが
他人のコードを読むのはほぼ初めてで全然進まない状況なんですが
タグテーブルって何ですか?検索してもHTMLのタグのことばっかりでてきます
効率よく読める方法があれば是非教えてもらいたいのですが
0966デフォルトの名無しさん2006/03/14(火) 00:51:48
ctagsで検索すればいい
なんか初心者向けなフロントエンドあったっけな
と思って検索してみたらこんなの出た
http://catfish.virtualave.net/ctagsbr/ctagsbr.html
0967デフォルトの名無しさん2006/03/14(火) 00:59:38
Visual Studio使える奴には用無しだがな
0968デフォルトの名無しさん2006/03/14(火) 01:35:39
他人のソースを読むなら、Understand for C++というまさにそのまんまな名前のソフトがあるにはある
少々癖がある+結構高い$495上に英語のみ(まぁここは問題ないだろうけど)だが
評価版もあるんで試してみると吉
0969デフォルトの名無しさん2006/03/14(火) 02:03:34
自分のコードスタイルに編集しながら読んでいけばある時点ではっちゃけると思う。
全然進まないならタグテーブルでも情報量過多になることも考えられるので
相当物を手作業で作ったほうがよいかも。
ナビゲーション性が悪いとストレスが溜まるのでブックマークをつけられる
エディタやヴューワを使ったほうがよい。
あとは印刷物にマーカー持って向き合うかだな。
0970デフォルトの名無しさん2006/03/14(火) 02:27:00
>>966
横だけど、これいいね。xyzzyとも相性いいね。
VSのプロジェクトファイルがあるなら、VSがベストだけど
この軽さもいい感じ。いい情報ありがとう
0971デフォルトの名無しさん2006/03/14(火) 04:08:25
ポインタの指してるアドレスって例えばint型だとすると4バイトのうちの先頭を指していると考えていいですか?
0972デフォルトの名無しさん2006/03/14(火) 05:17:54
>>972
だめ
0973デフォルトの名無しさん2006/03/14(火) 05:18:53
>>971だ ねぼけとった
0974デフォルトの名無しさん2006/03/14(火) 08:05:31
doxygenを
使ってる人います?使うとしたら形式はQTとJavaDocどっちにしてます?

あとフローチャートを作成するのにお勧めToolはありますか?
また関数からフローチャートを作成するToolも探してます。
できればフリーのほうがいいです

なぜならQAの人たち(検査する人たち)に説明する際にソースを印刷するよりもフローのほうがいいからです。
よろしくお願いします。
0975デフォルトの名無しさん2006/03/14(火) 09:02:34
>>971
まず、アドレスとは限らない。
# 実装としてアドレスが使われる事は多いが。
0976デフォルトの名無しさん2006/03/14(火) 11:21:38
C言語なら俺に聞け! Part 124
http://pc8.2ch.net/test/read.cgi/tech/1142302804/
0977デフォルトの名無しさん2006/03/14(火) 18:17:29
typedef struct person {
    char name[64];
    struct person *next;
}Person;

Person* AllocNode(void)
{
    Person *heap = (Person *)malloc(sizeof(Person));
    return heap;
}
void TempPerson(Person *data)
{
    Person *ptr;
    data->next = AllocNode();
    ptr = data->next;

    printf("名前の入力");scanf("%s",ptr->name);
    printf("%s",ptr->name);
}
0978デフォルトの名無しさん2006/03/14(火) 19:07:19
>>977みたいなコード打つヤツとは仕事したくねーな
0979デフォルトの名無しさん2006/03/14(火) 19:35:24
>>978
何でですか><
0980デフォルトの名無しさん2006/03/14(火) 19:40:00
AllocNodeをインラインにするかマクロにすれば俺は許す。
0981デフォルトの名無しさん2006/03/14(火) 19:52:29
この場合は使ったメモリ、開放しなくていいんですか?
0982デフォルトの名無しさん2006/03/14(火) 19:57:51
>>980
インラインでググッテきます。
0983デフォルトの名無しさん2006/03/14(火) 20:11:13
>>980
インライン云々の問題じゃないと思われ
0984デフォルトの名無しさん2006/03/14(火) 20:11:45
ここの回答者ってホント糞ばっかだな
0985デフォルトの名無しさん2006/03/14(火) 20:13:23
一番の問題は拡張性の無さでいいのですか?
0986デフォルトの名無しさん2006/03/14(火) 20:27:42
質問が糞だと回答もそれなりにならざるを得ないだろうな
0987デフォルトの名無しさんNGNG
scanf
0988デフォルトの名無しさん2006/03/14(火) 20:33:17
>>987
の紹介文において、わいせつ行為で捕まえられないですか?
0989デフォルトの名無しさん2006/03/14(火) 23:39:32
>>988
あれをわいせつ行為だと思える、その精神がわいせつ。
エロいことばっかり考えてるからそう思えるんだって。
"C"言語にもそういうこと期待してる?もしかして。
0990デフォルトの名無しさん2006/03/14(火) 23:55:20
セックル言語!!>>989はもっとエロいのかw
0991デフォルトの名無しさん2006/03/14(火) 23:57:47
俺言語にdoxygenは使えますか?
0992デフォルトの名無しさん2006/03/15(水) 01:03:38
#include <stdio.h>

main () {
int a;

printf("a = %d\n",a);
a = 2;
printf("a = %d\n", a);
return 0;
}

これを実行すると
a = 1
a = 2
と出るのはなぜですか?なぜ最初にa = 1と出るかが分かりません
0993デフォルトの名無しさん2006/03/15(水) 01:05:24
ローカル変数は初期値不定。
0994デフォルトの名無しさん2006/03/15(水) 01:05:34
仕様です
0995デフォルトの名無しさん2006/03/15(水) 01:10:03
>>993>>994
1以外の値にはならないんですか?
0996デフォルトの名無しさん2006/03/15(水) 01:11:11
ゴミの値が出るんだろ。
0997デフォルトの名無しさん2006/03/15(水) 01:11:27
>>995
>>993-994で理解できないなら向いてないからやめた方がいいよ^^
0998デフォルトの名無しさん2006/03/15(水) 01:17:12
初心者には優しくしてください><
0999デフォルトの名無しさん2006/03/15(水) 01:18:32
999
1000デフォルトの名無しさん2006/03/15(水) 01:21:16
#include <stdio.h>

main () {
int a; ←宣言した時、a に入っている値は不定値。

printf("a = %d\n",a); ←ここでその不定値を表示してるだけ。不定値の意味くらいは分かるよな?
a = 2; ←ここで初めて、a に2が入りました。
printf("a = %d\n", a); ←ここでその、a の中に入っている2を表示してると。
return 0;
}
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。