- 1 名前:デフォルトの名無しさん mailto:sage [2007/12/22(土) 12:49:22 ]
- C言語の入門者向け解説スレです。
・C++言語はスレ違いです。 ・分からない事をなるべく詳しく書いて下さい。 ・ソースコードを晒すと答えやすくなるかもしれません。 ・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 前スレ C言語なら俺に聞け(入門篇) Part 22 pc11.2ch.net/test/read.cgi/tech/1196489491/ 教えて欲しいのではなく丸投げしたいならこちらへ C/C++の宿題を片付けます 101 pc11.2ch.net/test/read.cgi/tech/1197132472/
- 935 名前:920 mailto:sage [2008/01/20(日) 18:33:38 ]
- www9.plala.or.jp/sgwr-t/lib/malloc.html
この麻呂でいけそう。超thx! これってフリー忘れるとプログラム終わってもメモリ使えないままなの? だとしたら怖い。 C#は案セーフじゃなければ何やってもプログラムが落ちるだけだから何でも試せたのに。 >>934 それって、今のANSI?の規格なら出来るけどVCは遅れてる子だから駄目ってこと? ならVC2階の窓から捨てる。
- 936 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 18:36:31 ]
- >>935
フリーを忘れないようには どうするといいかってのを 考えながらくむのも おもしろいもんだよ
- 937 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 18:37:57 ]
- >>935
プログラムが終了すればおk C#のunsafeとほぼ一緒だと思うけど
- 938 名前:920 mailto:sage [2008/01/20(日) 19:09:27 ]
- >>936
{書いたら直ぐに }書いて、その間にコードを書くみたいに 麻呂したら直ぐにフリーして間にコード書いちゃ駄目? >>937 よかた。ちゃっちゃいプログラムなら大事にはならなさそうね。
- 939 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 19:10:38 ]
- いやいやいやいや、
終了すれば大丈夫だからって 放置する癖は付けない方がいいぞ
- 940 名前:920 mailto:sage [2008/01/20(日) 19:22:43 ]
- >>939
それはだいぢょぶ。 ただ、びくびくしながら書いてたら上達しにくい気がするから心配だっただけ。 もひとつ質問していいかな。 int main(){ int hoge[10][10]; hoge[10][10] = 100; poke(hoge); return 0; } int poke(int *moge){ return *moge[10][10]; } って平気?一次元だと出来たんだけど。 試してもいいかなぁ?
- 941 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 20:06:48 ]
- mallocを麻呂って書くヤツはカス。
- 942 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 20:17:08 ]
- >>935
大丈夫。VC++みたいなのが世の中の多数派。使う人間、誰もいないし。 たとえ解放し忘れても、プログラムが終了すればWindowsが丸ごと解放する。 あと、マネージドなプログラムで何やってもプログラムが落ちるだけというなら、 アンマネージドなCのプログラムだって、 何やってもプログラムが落っこちるだけで済むと言える。 9xのWindowsでもない限り。
- 943 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 21:26:32 ]
- >>940
そもそもhoge[10][10]の参照はまずくないか
- 944 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 21:29:30 ]
- mallocってなんて読むの?
えむあろっく かと思ってるんだけど
- 945 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 21:31:57 ]
- >>944
宗教論争みたいになっちゃうけど人間関係に問題が起きない範囲で好きに読めばいいと思う。 俺は普段はまろっくって読んでる
- 946 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 21:40:08 ]
- ネイティブはマロックって言うらしい
ソースは俺
- 947 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 21:40:51 ]
- まろっくって読んでるけど個人でやってるから口に出した事ないな
プログラマだと口に出して言うことあるのか?
- 948 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 21:43:23 ]
- 動的確保!って叫んでる
- 949 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 21:43:26 ]
- 普段はC++だから口に出して言ったことは無いな
- 950 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 21:46:54 ]
- 【char】変な読み方するな その2【ちゃー】
pc11.2ch.net/test/read.cgi/prog/1177251487/ マジレスするとカタカナ表記でGoogle検索して多い方を使っておけばノープロブレム。
- 951 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 21:48:41 ]
- ちゃーだと最近のクソ芸人のギャグまでひっかかる
- 952 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 22:45:34 ]
- >>940
平気じゃない。 2次元配列を1次元配列にマップしたときのインデックスを計算汁。
- 953 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 22:50:46 ]
- int hoge[10][10];
配列の最後は hoge[9][9]; よってオタワ
- 954 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 22:53:56 ]
- int poke(int (*moge)[10]){
return moge[9][9]; } こういうのならいいんでしょうか・・?
- 955 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:08:57 ]
- int poke(int moge[][]){
} って感じにできなかったっけか?
- 956 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:10:32 ]
- >>955
それはない
- 957 名前:920 [2008/01/20(日) 23:16:34 ]
- >>952
でけた。THX でも、こんなの読めないよ…。 hoge[2番目の長さ * 1番目の添え字 + 2番目の添え字] が hoge[1番目の添え字][2番目の添え字] と同じだなんて気付きようがないぬ もっと可読性が高い書き方はないかにょ…。
- 958 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:24:05 ]
- >>955
最低でも int poke(int moge[][N]) の N が必要
- 959 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:36:12 ]
- >>957
関数にすればいいじゃん
- 960 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:41:59 ]
- >>957
>>954 の方法は?
- 961 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:45:25 ]
- >>960
2番目の長さが固定になるだろ・・・
- 962 名前:デフォルトの名無しさん [2008/01/21(月) 00:49:55 ]
- Cプログラマ必須テキストです!
mori.eco.to/
- 963 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 01:21:37 ]
- マルチ乙としかいいようがないな
- 964 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 01:23:42 ]
- ざっと見てみたけど自意識過剰サイトでわろた
しかもテキストごときに8000円とか誰もひっかからんだろwww
- 965 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 01:40:05 ]
- 在学中に情報系の国家試験である、基本情報処理技術者、ソフトウエア開発を取得
極普通じゃねーかwwwww
- 966 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 01:45:21 ]
- ばかじゃねーの
8800円あったら専門書買うわーバーカ
- 967 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 02:05:24 ]
- 構造体の初期化で教えてください。
(1) struct Type x = {.var = NULL}; (2) struct Type *x; x = (struct Type *) malloc(sizeof(struct Type)); x->var = NULL; (3) struct Type *x; x->var = NULL; とあって、(1), (2) だと問題ないのですが、 (3) だと segmentation fault になってしまいます。 どういう理屈からでしょうか? また、構造体を 「*変数名」で宣言したときは、最初に値を設定するときに、 必ず malloc をしてからでないといけないのでしょうか? よろしくお願いします。
- 968 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 02:07:49 ]
- ポインタってのはどこかの実態をポイントしてなきゃアクセスできるわけがねぇ
- 969 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 02:08:12 ]
- xはその構造体の型へのポインタだから
- 970 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 02:10:05 ]
- >>967
ポインタがなんなのかまったく理解できてない struct Type *x; で用意されるのは構造体struct Type がどこにあるかを表す変数だけ 構造体の本体はない mallocでそれを用意してやってる
- 971 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 02:26:02 ]
- long と long int は何が違うんでしょうか
- 972 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 02:33:25 ]
- いっしょです
- 973 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 02:33:43 ]
- タイプ数
- 974 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 10:20:07 ]
- 音声を出力するにはどうすればいいのかな?
- 975 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 10:20:44 ]
- 環境書け
- 976 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 10:31:16 ]
- センサーがあるのでそれで感知をした時に
音声を出力するプログラムを作るにはどうすればいいですか?
- 977 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 10:34:52 ]
- センサーの入力を監視する部分と、音声を出力する部分を作ればいける
- 978 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 10:36:40 ]
- 音声の出力する部分を作るには
どうすればどのようなプログラミングを作ればいいですか?
- 979 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 10:40:22 ]
- Cの標準機能じゃ無理だからOSとかコンパイラとかを書かないと答えようがない
- 980 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 14:33:40 ]
- >>978
putchar('\a');
- 981 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 14:44:54 ]
- >>978
「プログラミング」は作れません。
- 982 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 14:54:47 ]
- >>978
音声合成とか勉強すれば...
- 983 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 14:56:35 ]
- センサーって、組み込み?
それなら、周辺回路によるけどどこかのポートをパタパタ。
- 984 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 19:47:42 ]
- >>978
window.hをインクルードしてBeep関数使えば鳴らせるよ
|

|