C言語なら俺に聞け(入門編)Part 96
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2012/02/04(土) 03:01:40.24★前スレ
C言語なら俺に聞け(入門編)Part 95
http://toro.2ch.net/test/read.cgi/tech/1326459906/
★過去スレ
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++の宿題片付けます 156代目
http://toro.2ch.net/test/read.cgi/tech/1328276597/
★C++言語については避けてください。C++対応明記スレへどうぞ
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
# 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
# サイズが大きい場合は宿題スレのアップローダ等を利用してください
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
長くなりそうなコードはcodepadに貼り付けてもいいでしょう
http://codepad.org/
0655デフォルトの名無しさん
2012/02/11(土) 01:11:19.310656デフォルトの名無しさん
2012/02/11(土) 01:13:30.41>>654
>友達のいない講義では周りの人にきいて
0657デフォルトの名無しさん
2012/02/11(土) 01:14:21.43自分、少々質問致したい事があるのですが、お時間頂けないでしょうか!
みたいに聞け。
0658デフォルトの名無しさん
2012/02/11(土) 01:14:30.73なぜなら無限の高さの壁はないからである
0659デフォルトの名無しさん
2012/02/11(土) 01:15:23.01>押忍!
>自分、
をカットすれば、まあ及第点
0660デフォルトの名無しさん
2012/02/11(土) 01:15:30.960661デフォルトの名無しさん
2012/02/11(土) 01:17:53.09mallocで2MB確保してますが何か?とかそういう話ではなくて?
0662デフォルトの名無しさん
2012/02/11(土) 01:19:59.94意味はない。
0663デフォルトの名無しさん
2012/02/11(土) 01:20:28.30プログラマーズガイドとリファレンスが見つかったんだけど
これってヤフオク出したら高く売れるかな?
ここの奴らなら欲しい奴いるだろ?
最近のC++ライブラリィーのガイドとかに比べれば遙かに簡単に(短時間で)読破できるぞ
0664デフォルトの名無しさん
2012/02/11(土) 01:20:33.220665デフォルトの名無しさん
2012/02/11(土) 01:21:10.510666デフォルトの名無しさん
2012/02/11(土) 01:21:23.370667デフォルトの名無しさん
2012/02/11(土) 01:21:44.823点。
0668デフォルトの名無しさん
2012/02/11(土) 01:22:07.19ブックオフで10円。
0669デフォルトの名無しさん
2012/02/11(土) 01:22:55.66Win64はなんかまたセグメント復活みたいなのを聞いた気がするけど
0670デフォルトの名無しさん
2012/02/11(土) 01:24:07.400671デフォルトの名無しさん
2012/02/11(土) 01:25:14.37あえて33分の1しちゃうなんてドSなんだから(はぁと
0672デフォルトの名無しさん
2012/02/11(土) 01:25:26.53薄めの青枠でテカったやつだっけ?大学の講義で使ったな。
0673デフォルトの名無しさん
2012/02/11(土) 01:28:10.660674デフォルトの名無しさん
2012/02/11(土) 01:28:43.250675デフォルトの名無しさん
2012/02/11(土) 01:28:54.430676デフォルトの名無しさん
2012/02/11(土) 01:29:35.60>>664
0677デフォルトの名無しさん
2012/02/11(土) 01:29:43.280678デフォルトの名無しさん
2012/02/11(土) 01:32:05.910679デフォルトの名無しさん
2012/02/11(土) 01:32:35.520680デフォルトの名無しさん
2012/02/11(土) 01:33:38.71そうそう。CQ出版のやつ。
俺の脳内アーキテクチャはいまだにこれ。
0681デフォルトの名無しさん
2012/02/11(土) 01:37:58.5368020って別だっけ?アドレッシングモードが多くてCそのままアセンブラ書ける
やんけって感動したのは覚えてるw
0682デフォルトの名無しさん
2012/02/11(土) 01:38:47.600683デフォルトの名無しさん
2012/02/11(土) 01:39:40.50Cで書くくらい簡単にかけた。
0684デフォルトの名無しさん
2012/02/11(土) 01:41:51.31link/unlinkでスタックフレームつくったりとか高級言語っぽい。
なので86系とか難しすぎて無理。
0685デフォルトの名無しさん
2012/02/11(土) 01:43:26.070686デフォルトの名無しさん
2012/02/11(土) 01:44:59.430687デフォルトの名無しさん
2012/02/11(土) 01:46:16.970688デフォルトの名無しさん
2012/02/11(土) 01:53:10.190689デフォルトの名無しさん
2012/02/11(土) 01:55:26.360690デフォルトの名無しさん
2012/02/11(土) 01:55:31.060691デフォルトの名無しさん
2012/02/11(土) 01:59:33.470692デフォルトの名無しさん
2012/02/11(土) 01:59:51.740693デフォルトの名無しさん
2012/02/11(土) 02:00:08.372の乗数で一桁切り捨て
どんな場面で使うんだろう?
0694デフォルトの名無しさん
2012/02/11(土) 02:01:48.35Joel on Software ジョエル・オン・ソフトウェア
ttp://japanese.joelonsoftware.com/Articles/Interviewing.html
0695デフォルトの名無しさん
2012/02/11(土) 02:01:49.91ゆとりが使うから。
0696デフォルトの名無しさん
2012/02/11(土) 02:04:01.52Cのポインターとメモリ管理に挫折したプログラマー(世界の殆ど)を救うべく設計された言語!!
.....のはずだった。
0697デフォルトの名無しさん
2012/02/11(土) 02:04:03.750698デフォルトの名無しさん
2012/02/11(土) 02:04:46.09…のはずだった????
0699デフォルトの名無しさん
2012/02/11(土) 02:22:40.080700デフォルトの名無しさん
2012/02/11(土) 03:49:11.46市販の高級時計は、ずれない高級時計と、ずれる高級時計に分類されるわけだけど
0701デフォルトの名無しさん
2012/02/11(土) 04:16:03.08MS-DOS の時代(16ビットコード)の昔話ね。今はまったく関係ない。
でも今でもわかっていない人がいるみたい。
>> DS!=SS 問題をご存知ない?DLL 書くときに苦労しませんでしたか?
> 全然苦労しない。
そう‥‥‥、やっぱりみんなあこぎなことしてたんんだ‥‥‥。
0704デフォルトの名無しさん
2012/02/11(土) 08:22:23.30void minmax(float** min, float** max, float* a, float* b)
{
if(*a>=*b) {
*max = a;
*min = b;
} else {
*max = b;
*min = a;
}
}
問題
minmidmax(float** min, float** mid, float** max, float* a, float* b float* c)
を最高に高速な方法で書け
0705デフォルトの名無しさん
2012/02/11(土) 08:26:36.11速度を気にする関数で引数をポインタにするのはヘボ。
0706デフォルトの名無しさん
2012/02/11(土) 08:40:43.96なんだその仕様。
0707デフォルトの名無しさん
2012/02/11(土) 08:54:43.65自分が勝手に誤解して、仕様に文句つけてる馬鹿にしか見えない。
0708デフォルトの名無しさん
2012/02/11(土) 08:56:17.050709デフォルトの名無しさん
2012/02/11(土) 08:57:51.200710デフォルトの名無しさん
2012/02/11(土) 09:02:04.73いや、>>705はそのままだが。
速度気にするところでポインタ使ってる時点でクソなのは決定だろ。
しかもfloat*。
0711デフォルトの名無しさん
2012/02/11(土) 09:04:04.960712デフォルトの名無しさん
2012/02/11(土) 09:05:35.19どうせ大馬鹿な話なんだろ?
0713704
2012/02/11(土) 09:22:45.40じゃあ704の例は忘れろ。悪かったな混乱させて。
例
float min(float a, float b) { if(a <= b) return a; else return b };
float max(float a, float b) { if(a >= b) return a; else return b };
問題
float min(float a, float b, flaot c)
float mid(float a, float b, flaot c)
float max(float a, float b, flaot c)
この3関数を連続して実行した場合と同様の結果を得られる方法を、最高に高速に書け。
0714デフォルトの名無しさん
2012/02/11(土) 09:25:21.540715デフォルトの名無しさん
2012/02/11(土) 09:26:11.10最高に高速とか、池沼みたいなこと言うのやめればいいんじゃなイカ?
0716デフォルトの名無しさん
2012/02/11(土) 09:28:22.540717デフォルトの名無しさん
2012/02/11(土) 09:30:51.23口の聞き方ってもんを知らないの?
0718デフォルトの名無しさん
2012/02/11(土) 09:36:42.820719704
2012/02/11(土) 09:39:39.12おまえらが高速なコードぽんぽん書ける連中なら敬語使ってやるよ。
いまのところおまえらは口先だけの使えないゴミって認定だからな。俺の中で。
0720デフォルトの名無しさん
2012/02/11(土) 09:40:39.600721デフォルトの名無しさん
2012/02/11(土) 09:41:50.90よく分かってるじゃないか!
分かってるならうせろクズ
0722デフォルトの名無しさん
2012/02/11(土) 09:45:15.670723デフォルトの名無しさん
2012/02/11(土) 09:47:38.42今時SSE使えない環境なんか気にしないでしょ?
0724デフォルトの名無しさん
2012/02/11(土) 10:19:15.650725デフォルトの名無しさん
2012/02/11(土) 10:33:53.54まとめると、お前には超えられなかった壁という事だ。バカは引っ込んでろ。
0726デフォルトの名無しさん
2012/02/11(土) 10:46:40.98>じゃぁ経緯を言ってみろよ。
想像通りな馬鹿反応。
0727デフォルトの名無しさん
2012/02/11(土) 10:48:42.160728デフォルトの名無しさん
2012/02/11(土) 10:57:33.360729デフォルトの名無しさん
2012/02/11(土) 11:01:56.780730デフォルトの名無しさん
2012/02/11(土) 11:21:54.25他のポインタ変数ppで保持したいとき、**ppではなく*ppで受けることはできないのでしょうか?
<ダブルポインタを使う>
int *p;
int **pp;
pp = &p;
↓
<ポインタを使う>
int *p, *pp;
pp = &p;
0731デフォルトの名無しさん
2012/02/11(土) 11:24:34.01キャストすれば代入はできる
でも型情報を捨てるメリットはほとんどない
0732デフォルトの名無しさん
2012/02/11(土) 11:27:12.58キャストが必要ということは、ポインタ変数のアドレスを保持するためには
やはりダブルポインタでないといけないということでしょうか?
ポインタ変数とて、結局ただの変数なので、ポインタ変数のアドレスも、
通常の変数のアドレスと何ら変わらないはず。
だったら、一段(?)の*ppで*pのアドレス保持ができてよいのになと
思った次第です。
0733デフォルトの名無しさん
2012/02/11(土) 11:30:12.54void *pp = &p
0734デフォルトの名無しさん
2012/02/11(土) 11:31:25.14できるけど意味ないよって書いたつもり
0735デフォルトの名無しさん
2012/02/11(土) 11:32:10.76void型ですか。。
いまいち、キャストすればいけるという意味がわかってないのですが、
ソースで書くと下記のようにしないといけないということでしょうか?
int *pp = (int *)&p;
0736デフォルトの名無しさん
2012/02/11(土) 11:32:57.24>>729
0737デフォルトの名無しさん
2012/02/11(土) 11:33:19.84voidで何の問題があるんだ。
0738デフォルトの名無しさん
2012/02/11(土) 11:35:02.51int i;
int *p, *pp;
pp = &p;
というコードがあったとして、&iの&pの値は同じアドレスでも、
型は違うのでしょうか?
0739デフォルトの名無しさん
2012/02/11(土) 11:35:11.88typedef int * pint;
int *p;
pint *pp;
pp = &p;
0740デフォルトの名無しさん
2012/02/11(土) 11:35:43.67void型変数というものを初めて見たので戸惑ったのですが、
そう言う書き方もあるのですね。
0741デフォルトの名無しさん
2012/02/11(土) 11:37:26.42エスパーしてみる
Cでは
void foo(int& *p) {...}
てのはできないから
void foo(int **pp) {
int *p = *pp;
}
とキャストしてやれば
呼び出し元と同じように扱える
0742デフォルトの名無しさん
2012/02/11(土) 11:37:52.54(int *)型の*ppを作っているということですよね?
つまり、結局ダブルポインタにするしかないということでしょうか?
なぜそうなのか、いまいちなっとくできなく困っています。
0743デフォルトの名無しさん
2012/02/11(土) 11:37:58.92型情報の意義を理解していない初心者か?
0744デフォルトの名無しさん
2012/02/11(土) 11:38:52.13誰がやっても超えられないですねえ。馬鹿はどっち?
0746デフォルトの名無しさん
2012/02/11(土) 11:41:35.83>>738の質問の答えがわかれば、それが確信に変わる
気がします
つ qsort()
0748デフォルトの名無しさん
2012/02/11(土) 11:42:35.54ありますが、何か?
0749デフォルトの名無しさん
2012/02/11(土) 11:44:14.96int *p,*q,n=0;
p=q=&n;
としたとき
&p と &q はイコールじゃないから。
0750デフォルトの名無しさん
2012/02/11(土) 11:44:21.08お前だということには誰も異論はない。
0751デフォルトの名無しさん
2012/02/11(土) 11:44:35.11超えられないバカは引っ込んでな。
0752デフォルトの名無しさん
2012/02/11(土) 11:47:23.22えぇ?
おれには>>741のどこにキャストがあるのかがわからないんだが。
0753730
2012/02/11(土) 11:47:42.26int i;
int *p, *pp;
pp = &i; // こっちは問題なし
pp = &p; // こっちはダメ(だけど理由がわからない)
&iと&pは両方ともアドレス値(もちろん違う変数なのでアドレス値自体は違う)
であるから、通常のアドレス変数*ppで受けられるんじゃないの?と思ってしまう
でも実際にはダメ。
その理由は、&iと&pは同じアドレス値であっても、型が違うということでしょうか?
アドレスの型と言うものも、いまいちわからないポイントです。。
0754デフォルトの名無しさん
2012/02/11(土) 11:48:04.79■ このスレッドは過去ログ倉庫に格納されています