C言語なら俺に聞け( ..
[2ch|▼Menu]
930:デフォルトの名無しさん
08/01/20 18:23:10
>>925
麻呂?首ググって来る

931:デフォルトの名無しさん
08/01/20 18:23:12
malloc 一択。
演算子のオーバーロードとかないから、
何かアクセス関数作っとけ。

932:925
08/01/20 18:23:14
(´・ω・`)

933:デフォルトの名無しさん
08/01/20 18:25:02
あらかじめ最大サイズを決めておくという手もなくはない。
エレガントではないが。

934:デフォルトの名無しさん
08/01/20 18:27:32
gccで-std=c99使えばいいよ。

後の規格改定で、変数宣言の位置の縛りもなくなったし、
配列の要素数に変数が使えるようにもなった。
が、しかし、需要がなくてVisual C++は対応していない。

935:920
08/01/20 18:33:38
URLリンク(www9.plala.or.jp)
この麻呂でいけそう。超thx!
これってフリー忘れるとプログラム終わってもメモリ使えないままなの?
だとしたら怖い。
C#は案セーフじゃなければ何やってもプログラムが落ちるだけだから何でも試せたのに。

>>934
それって、今のANSI?の規格なら出来るけどVCは遅れてる子だから駄目ってこと?
ならVC2階の窓から捨てる。

936:デフォルトの名無しさん
08/01/20 18:36:31
>>935
フリーを忘れないようには
どうするといいかってのを
考えながらくむのも
おもしろいもんだよ

937:デフォルトの名無しさん
08/01/20 18:37:57
>>935
プログラムが終了すればおk
C#のunsafeとほぼ一緒だと思うけど

938:920
08/01/20 19:09:27
>>936
{書いたら直ぐに
}書いて、その間にコードを書くみたいに
麻呂したら直ぐにフリーして間にコード書いちゃ駄目?

>>937
よかた。ちゃっちゃいプログラムなら大事にはならなさそうね。

939:デフォルトの名無しさん
08/01/20 19:10:38
いやいやいやいや、
終了すれば大丈夫だからって
放置する癖は付けない方がいいぞ

940:920
08/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:デフォルトの名無しさん
08/01/20 20:06:48
mallocを麻呂って書くヤツはカス。

942:デフォルトの名無しさん
08/01/20 20:17:08
>>935
大丈夫。VC++みたいなのが世の中の多数派。使う人間、誰もいないし。

たとえ解放し忘れても、プログラムが終了すればWindowsが丸ごと解放する。
あと、マネージドなプログラムで何やってもプログラムが落ちるだけというなら、
アンマネージドなCのプログラムだって、
何やってもプログラムが落っこちるだけで済むと言える。
9xのWindowsでもない限り。

943:デフォルトの名無しさん
08/01/20 21:26:32
>>940
そもそもhoge[10][10]の参照はまずくないか

944:デフォルトの名無しさん
08/01/20 21:29:30
mallocってなんて読むの?
えむあろっく かと思ってるんだけど

945:デフォルトの名無しさん
08/01/20 21:31:57
>>944
宗教論争みたいになっちゃうけど人間関係に問題が起きない範囲で好きに読めばいいと思う。
俺は普段はまろっくって読んでる

946:デフォルトの名無しさん
08/01/20 21:40:08
ネイティブはマロックって言うらしい
ソースは俺

947:デフォルトの名無しさん
08/01/20 21:40:51
まろっくって読んでるけど個人でやってるから口に出した事ないな
プログラマだと口に出して言うことあるのか?

948:デフォルトの名無しさん
08/01/20 21:43:23
動的確保!って叫んでる

949:デフォルトの名無しさん
08/01/20 21:43:26
普段はC++だから口に出して言ったことは無いな

950:デフォルトの名無しさん
08/01/20 21:46:54
【char】変な読み方するな その2【ちゃー】
スレリンク(prog板)

マジレスするとカタカナ表記でGoogle検索して多い方を使っておけばノープロブレム。

951:デフォルトの名無しさん
08/01/20 21:48:41
ちゃーだと最近のクソ芸人のギャグまでひっかかる

952:デフォルトの名無しさん
08/01/20 22:45:34
>>940
平気じゃない。
2次元配列を1次元配列にマップしたときのインデックスを計算汁。

953:デフォルトの名無しさん
08/01/20 22:50:46
int hoge[10][10];

配列の最後は
hoge[9][9];
よってオタワ

954:デフォルトの名無しさん
08/01/20 22:53:56
int poke(int (*moge)[10]){
return moge[9][9];
}

こういうのならいいんでしょうか・・?

955:デフォルトの名無しさん
08/01/20 23:08:57
int poke(int moge[][]){
}
って感じにできなかったっけか?

956:デフォルトの名無しさん
08/01/20 23:10:32
>>955
それはない

957:920
08/01/20 23:16:34
>>952
でけた。THX
でも、こんなの読めないよ…。
hoge[2番目の長さ * 1番目の添え字 + 2番目の添え字]

hoge[1番目の添え字][2番目の添え字]
と同じだなんて気付きようがないぬ
もっと可読性が高い書き方はないかにょ…。

958:デフォルトの名無しさん
08/01/20 23:24:05
>>955
最低でも int poke(int moge[][N]) の N が必要


959:デフォルトの名無しさん
08/01/20 23:36:12
>>957
関数にすればいいじゃん

960:デフォルトの名無しさん
08/01/20 23:41:59
>>957
>>954
の方法は?

961:デフォルトの名無しさん
08/01/20 23:45:25
>>960
2番目の長さが固定になるだろ・・・

962:デフォルトの名無しさん
08/01/21 00:49:55
Cプログラマ必須テキストです!

URLリンク(mori.eco.to)

963:デフォルトの名無しさん
08/01/21 01:21:37
マルチ乙としかいいようがないな

964:デフォルトの名無しさん
08/01/21 01:23:42
ざっと見てみたけど自意識過剰サイトでわろた
しかもテキストごときに8000円とか誰もひっかからんだろwww

965:デフォルトの名無しさん
08/01/21 01:40:05
在学中に情報系の国家試験である、基本情報処理技術者、ソフトウエア開発を取得

極普通じゃねーかwwwww

966:デフォルトの名無しさん
08/01/21 01:45:21
ばかじゃねーの
8800円あったら専門書買うわーバーカ

967:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/01/21 02:07:49
ポインタってのはどこかの実態をポイントしてなきゃアクセスできるわけがねぇ

969:デフォルトの名無しさん
08/01/21 02:08:12
xはその構造体の型へのポインタだから

970:デフォルトの名無しさん
08/01/21 02:10:05
>>967
ポインタがなんなのかまったく理解できてない

struct Type *x;
で用意されるのは構造体struct Type がどこにあるかを表す変数だけ
構造体の本体はない
mallocでそれを用意してやってる

971:デフォルトの名無しさん
08/01/21 02:26:02
long と long int は何が違うんでしょうか

972:デフォルトの名無しさん
08/01/21 02:33:25
いっしょです

973:デフォルトの名無しさん
08/01/21 02:33:43
タイプ数

974:デフォルトの名無しさん
08/01/21 10:20:07
音声を出力するにはどうすればいいのかな?

975:デフォルトの名無しさん
08/01/21 10:20:44
環境書け

976:デフォルトの名無しさん
08/01/21 10:31:16
センサーがあるのでそれで感知をした時に
音声を出力するプログラムを作るにはどうすればいいですか?

977:デフォルトの名無しさん
08/01/21 10:34:52
センサーの入力を監視する部分と、音声を出力する部分を作ればいける

978:デフォルトの名無しさん
08/01/21 10:36:40
音声の出力する部分を作るには
どうすればどのようなプログラミングを作ればいいですか?

979:デフォルトの名無しさん
08/01/21 10:40:22
Cの標準機能じゃ無理だからOSとかコンパイラとかを書かないと答えようがない

980:デフォルトの名無しさん
08/01/21 14:33:40
>>978
putchar('\a');

981:デフォルトの名無しさん
08/01/21 14:44:54
>>978
「プログラミング」は作れません。

982:デフォルトの名無しさん
08/01/21 14:54:47
>>978
音声合成とか勉強すれば...

983:デフォルトの名無しさん
08/01/21 14:56:35
センサーって、組み込み?
それなら、周辺回路によるけどどこかのポートをパタパタ。


984:デフォルトの名無しさん
08/01/21 19:47:42
>>978
window.hをインクルードしてBeep関数使えば鳴らせるよ


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5388日前に更新/237 KB
担当:undef