C言語なら俺に聞け(入門編)Part 111
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2012/12/09(日) 23:18:13.67★前スレ
C言語なら俺に聞け(入門編)Part 110
http://toro.2ch.net/test/read.cgi/tech/1353148538/
★過去スレ
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++の宿題片付けます 161代目
http://toro.2ch.net/test/read.cgi/tech/1354070278/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
# 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
# サイズが大きい場合はアップローダ等を利用してください。
http://codepad.org/
http://ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
0153デフォルトの名無しさん
2012/12/14(金) 11:54:57.04.soの方は位置独立コードが要求されるから、大抵のOSではコンパイルし直さないと無理。
0154デフォルトの名無しさん
2012/12/14(金) 11:59:26.74外部参照について調べていたのですが
例 extern int func( char* );
char*の*はポインタ変数名を続けて書く意味でしょうか?
0155デフォルトの名無しさん
2012/12/14(金) 12:02:53.90.soは.oをリンクしちゃった結果で、
元のファイル名が失なわれてるから無理。
.aから.soはlinuxならできるような気がするけど、
-fPICじゃないので実行開始時のリンクが遅いかも。
0156デフォルトの名無しさん
2012/12/14(金) 12:06:09.23外部参照とは関係ないけど、そうだね。
関数プロトタイプでは、仮引数名を省略して型だけ書いてもいいので、
extern int func( char *p );
の意味。
0157デフォルトの名無しさん
2012/12/14(金) 12:09:13.54こいつみたいな炎上学習法を実践するクズが多くてウザい。
その筆頭がコテハンだから始末が悪い。
0158デフォルトの名無しさん
2012/12/14(金) 12:30:59.03即答ありがとうございます。m(_ _)m
0159デフォルトの名無しさん
2012/12/14(金) 12:44:36.22付けても変わらないように思えるのですが
0160デフォルトの名無しさん
2012/12/14(金) 12:45:07.030161デフォルトの名無しさん
2012/12/14(金) 12:49:13.55char array[100];
char *p = array;
とすると、array も &array も同じ値になっちゃうので、
付けてもいいように見えてしまう。
だけど、&p と p は違うので、動作しない。
0162デフォルトの名無しさん
2012/12/14(金) 12:50:04.43int data;
scanf("%s", buff);
scanf("%s", &buff[0]);
scanf("%d", &data);
0163デフォルトの名無しさん
2012/12/14(金) 12:52:58.66char s[10];
scanf("%s",&s[5]); //(「・ω・)「
scanf("%s",s[5]); //\(^o^)/
0164デフォルトの名無しさん
2012/12/14(金) 13:20:59.80顔真っ赤だな
死ねよゴミ
0165デフォルトの名無しさん
2012/12/14(金) 14:06:54.49ポインタ理解してないチンカスになに言われても全然答えないわけだが。
悔しかったらポインタ理解してから出直すことだ。w
0166デフォルトの名無しさん
2012/12/14(金) 14:52:01.120167デフォルトの名無しさん
2012/12/14(金) 19:56:54.950168デフォルトの名無しさん
2012/12/15(土) 00:37:58.89円と四角が同時に動くみたいな事をこのライブラリを使えばCでも書けるんですが
これって暗にDXライブラリの関数がスレッドの機能があるってことでしょうか?
0169デフォルトの名無しさん
2012/12/15(土) 00:45:35.610170デフォルトの名無しさん
2012/12/15(土) 16:26:48.25これを使うと「絶対的に」32ビットの大きさが確保されるの?
0171デフォルトの名無しさん
2012/12/15(土) 16:33:42.230172デフォルトの名無しさん
2012/12/15(土) 16:37:23.530173デフォルトの名無しさん
2012/12/15(土) 16:40:17.690174デフォルトの名無しさん
2012/12/15(土) 17:21:25.76typedef unsigned intuint32_t;
と書いてあった。
intって64bit環境だと64bitじゃないの?
0175デフォルトの名無しさん
2012/12/15(土) 17:25:05.380176デフォルトの名無しさん
2012/12/15(土) 18:00:02.580177デフォルトの名無しさん
2012/12/15(土) 18:03:07.80LPI64: long, pointer, intが64ビット
LP64: long, pointerが64ビット
LLP64: long long, pointerが64ビット
uint32_tはそれぞれの環境で32ビットになるようtypedefされている。
0178デフォルトの名無しさん
2012/12/15(土) 18:12:15.63なるほど。ありがとうございます。
0179デフォルトの名無しさん
2012/12/15(土) 18:24:39.860180デフォルトの名無しさん
2012/12/16(日) 01:06:19.61basicと同じ順次実行言語だし何か困るの?って疑問に思いました。
0181デフォルトの名無しさん
2012/12/16(日) 01:08:06.30無いよ
インタプリタで実行も出来るよ
0182デフォルトの名無しさん
2012/12/16(日) 01:11:33.85インタプリタは何言語で作ったら一番良いですか?
やっぱり文字列とかの機能が多いperlとか?
0183デフォルトの名無しさん
2012/12/16(日) 01:13:19.03何回も実行する
0184デフォルトの名無しさん
2012/12/16(日) 01:14:39.20せっかくだからCで作れやw
0185デフォルトの名無しさん
2012/12/16(日) 01:15:11.84Rubyは、Cでかかれているそうです。黒魔術もつかわれてる(つかわれてた?)
black art
0186デフォルトの名無しさん
2012/12/16(日) 01:18:52.01エクセルでnormsdist関数やnormsinv関数を使用したファイルを作成したのですが
計算する数値の量が多すぎて1回の再計算で数十秒近く時間がかかってしまうため
直接C言語で計算するプログラムを作ればこの時間を減らせるのかなと考えています
プログラムに関する知識は現時点でゼロです
長くなりましたが、
1.C言語でプログラムを作ることでエクセルによる計算より時間を短縮することは可能か
2.可能だとして、全くの初心者がそのプログラムを作る難易度はどのくらいになるか
(1日3時間勉強にあてることができるとして、何日かかるかを目安で)
この2点について、どうぞよろしくお願いします
0187デフォルトの名無しさん
2012/12/16(日) 01:37:41.73ゼロから自作するのは手間かかる。
0188デフォルトの名無しさん
2012/12/16(日) 01:42:26.89まずは計算量を減らす工夫できないか考えるのが先だろう。
アルゴリズムがクソだと言語とかライブラリ変えてもどうにもならない。
0189デフォルトの名無しさん
2012/12/16(日) 01:46:33.97GNU Octave 2.1.x 日本語マニュアル
http://ja.wikibooks.org/wiki/GNU_Octave_2.1.x_%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB/%E7%B5%B1%E8%A8%88
0190デフォルトの名無しさん
2012/12/16(日) 01:54:12.78早速のご回答ありがとうございます
それぞれ試行してみたいと思います
本当にありがとうございました
0191デフォルトの名無しさん
2012/12/16(日) 02:28:24.480194デフォルトの名無しさん
2012/12/16(日) 08:51:39.72チンカスは最強のめるせんぬついすたーをとなえた。えぃっ。wwwww
>>186
excelが遅いんじゃなくて、多分キミのExcelシートの作り方が悪い。
normsdistは標準正規分布表引くだけ、normsinvは逆引きだけの処理なので、非常に高速。
normsdistやnormsinv使わないで値そのままにしても同じくらい時間かかるんじゃないか。
= normsdist(A1)
のセルを
= A1
に変更して時間計ってみろ。
0195デフォルトの名無しさん
2012/12/16(日) 09:06:40.140196デフォルトの名無しさん
2012/12/16(日) 09:10:58.950197デフォルトの名無しさん
2012/12/17(月) 16:24:12.080198デフォルトの名無しさん
2012/12/17(月) 16:31:42.95ハードウェア依存。言語の問題ではない。
0199デフォルトの名無しさん
2012/12/17(月) 17:08:33.08DirectXあたりを使った高水準なモノまで
いろいろできる
音源チップ用のコントローラとかなると
そりゃもうデバイスドライバあたりの面倒くささになる
0200デフォルトの名無しさん
2012/12/17(月) 17:12:11.390201デフォルトの名無しさん
2012/12/17(月) 17:31:50.54system("start music.mp3");
0202デフォルトの名無しさん
2012/12/17(月) 17:35:47.80最小化した状態で起動するなら
system("start /min music.mp3");
0203デフォルトの名無しさん
2012/12/17(月) 17:36:05.550204デフォルトの名無しさん
2012/12/17(月) 20:01:46.44音でないけど…
0205デフォルトの名無しさん
2012/12/17(月) 20:03:57.70でも実際に音をならすのは端末の機能。
0206デフォルトの名無しさん
2012/12/17(月) 20:05:19.320207デフォルトの名無しさん
2012/12/17(月) 20:17:44.73int main(void)
{
int i;
int N = 10;
for(i = 0; i < N; i++) {
printf("\007");
}
return 0;
}
0208デフォルトの名無しさん
2012/12/17(月) 20:34:22.05うん
0209デフォルトの名無しさん
2012/12/18(火) 14:44:07.60消防以下のレベルに善く答えてあげたな。
0210デフォルトの名無しさん
2012/12/18(火) 15:44:41.85void test(){}
と()内にvoidと書かなくても大丈夫?
0211デフォルトの名無しさん
2012/12/18(火) 15:49:22.94今ならvoidつけた方がよい
0212デフォルトの名無しさん
2012/12/18(火) 15:59:02.16なんで?
0213デフォルトの名無しさん
2012/12/18(火) 16:06:52.580214デフォルトの名無しさん
2012/12/18(火) 16:10:18.25やろうとしていることはなるべく明示した方が良い。
バグ潰しの効率もずいぶん変わるし、何より考えすぎたコードは次の日自分でも何やってんだか分からなくなったり。
0215デフォルトの名無しさん
2012/12/18(火) 16:34:01.01>そのまま関数宣言に使ったときにも、引数がないことが明確になるから。
それ、チェック機能の弱い、古いコンパイラ時代の常識。
0216デフォルトの名無しさん
2012/12/18(火) 16:36:09.14他の言語(C#とか)だと書かないと自動的に引数なし扱いになるけど
0217デフォルトの名無しさん
2012/12/18(火) 17:03:29.860218デフォルトの名無しさん
2012/12/18(火) 17:41:21.750219デフォルトの名無しさん
2012/12/18(火) 18:28:18.400220デフォルトの名無しさん
2012/12/18(火) 19:07:08.530221デフォルトの名無しさん
2012/12/18(火) 19:46:48.090222デフォルトの名無しさん
2012/12/18(火) 20:11:10.05それ以外は略してもいいという認識で行く
0223デフォルトの名無しさん
2012/12/18(火) 21:00:22.850224デフォルトの名無しさん
2012/12/18(火) 21:35:50.500225デフォルトの名無しさん
2012/12/18(火) 22:56:50.250226デフォルトの名無しさん
2012/12/18(火) 23:05:38.140227デフォルトの名無しさん
2012/12/18(火) 23:10:46.83struct{int a, double b, char c,char d[10][10]}←できる
union{int a, double b, char c, char d[10][10]}←できる
0228デフォルトの名無しさん
2012/12/18(火) 23:14:38.62unionは1つの連続した領域として取られるハズ
0229デフォルトの名無しさん
2012/12/18(火) 23:14:49.550230デフォルトの名無しさん
2012/12/18(火) 23:16:10.570231デフォルトの名無しさん
2012/12/18(火) 23:16:15.65あやふやなら回答しない方がいい
0232デフォルトの名無しさん
2012/12/18(火) 23:16:52.600233デフォルトの名無しさん
2012/12/18(火) 23:17:39.480234デフォルトの名無しさん
2012/12/18(火) 23:19:03.780235デフォルトの名無しさん
2012/12/18(火) 23:26:51.91d[10][10]の領域の中に、int a, double b, char cの先頭を指してる
だから、どれか代入すると他のメンバ変数はメモリ上に載せることが出来ない
0236デフォルトの名無しさん
2012/12/18(火) 23:31:36.87最小のプログラムでunionの場合structと比べてこれができないっていう
例を教えて下さい。
0237デフォルトの名無しさん
2012/12/18(火) 23:34:55.94struct Foo a;
a.a = 10;
a.b = 0.1;
できない
union Bar b;
b.a = 10;
b.b = 0.1;
printfでconsoleにでも出力汁
0238デフォルトの名無しさん
2012/12/18(火) 23:36:51.350239デフォルトの名無しさん
2012/12/18(火) 23:38:26.58君には向いてないから
0240デフォルトの名無しさん
2012/12/18(火) 23:38:41.91ランタイムエラーだったけどありがとうございます。
さすればunionって欠陥品ということでしょうか?
0241デフォルトの名無しさん
2012/12/18(火) 23:41:06.740242デフォルトの名無しさん
2012/12/18(火) 23:41:42.630243デフォルトの名無しさん
2012/12/18(火) 23:46:24.410244デフォルトの名無しさん
2012/12/18(火) 23:59:23.38union ひとつの場所に、ある時はアレ、またある時はコレと使い分ける。
0245デフォルトの名無しさん
2012/12/19(水) 00:06:59.28tux racerなり落としてきて使い方眺めた方が早い
飯食うなら、枕元にBSDのコード置くぐらいのことした方が良い
0246デフォルトの名無しさん
2012/12/19(水) 07:47:18.990247デフォルトの名無しさん
2012/12/19(水) 10:53:20.830248デフォルトの名無しさん
2012/12/19(水) 11:24:42.620249デフォルトの名無しさん
2012/12/19(水) 14:57:04.28お前だ
0250デフォルトの名無しさん
2012/12/19(水) 21:34:21.71cの入門なら、gnome付属のゲームでも読めば?
大学講座の単位なんて飾りですw
入門者には、それが分からんのですw
0251デフォルトの名無しさん
2012/12/19(水) 21:55:21.74入門スレでしか暴れられない方々が多いな。
0252デフォルトの名無しさん
2012/12/19(水) 22:49:52.00■ このスレッドは過去ログ倉庫に格納されています