C言語なら俺に聞け(入門編)Part 118
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/08/11(日) NY:AN:NY.AN★前スレ
C言語なら俺に聞け(入門編)Part 117
http://toro.2ch.net/test/read.cgi/tech/1373675124/
★過去スレ
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++の宿題片付けます 165代目
http://toro.2ch.net/test/read.cgi/tech/1370255305/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
# 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
# サイズが大きい場合はアップローダ等を利用してください。
http://codepad.org/
http://ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
0652デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0653デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANアドレスを代入・参照するだけなら、そうとも言えなくはないのだけれど。
C言語ではポインタの計算ということができて。そのためにポインタが
示しているアドレスに何が入っているか区別する必要があるんですよ。
0654デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN分けていることに意味がある。
分けないという事は型によるエラーが起こらない。
言語のチェック機構の恩恵が得られない。
0655デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN一理あるんだが
思うとおりにコード書いてみな
アイちゃんでも答えを導ける解りやすい問題にぶち当たるから
0656デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANよくよく考えると「void**」は使う事があるな
ま、キャストすれば関係ないんだけど
0657デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0658デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN{
*p = malloc(100);
}
main()
{
void *p;
f(&p);
}
引数でvoid*の値を返そうと思ったらvoid**で書くのが自然。
0659デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN変数を変換しないとだめで面倒臭いんですが
移植できる方法ありますか?
0660デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN}
で括る
0661デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANというか関数のデザインが悪いだろ、それ
抽象化できるか検討してみ
0662デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0663デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN列がx 行がyのほうがいいですか?
それとも逆か。
変数の問題ですけど.........
どっちが分かりやすいですか?
0664663
2013/08/28(水) NY:AN:NY.AN行は横ですが、その行のまとまりは縦にならんでますよね?
列は縦ですが、その縦のまとまりは横に並んでるじゃないですか?
なんかわからないんですけど
0665663
2013/08/28(水) NY:AN:NY.ANforfor構文書くときいっつも躓くんですよ。
0666デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANFORTRANとCでは伝統的に行と列が逆だからな
Cは基本的に一次元配列しかない
それが拡張されて配列へのポインタが構文糖で多次元配列に書けるようになっているだけ
中では配列へのポインタに戻される
つまり行が先
でも絶対に混同してはいけないのは、ポインタ配列を持っても見かけ上は全く同じに書けて
しまい、後から原因不明のバグに悩まされる危険がある
しかし動的に多次元配列を確保する方法が複数あるというのは柔軟性がある
0667663
2013/08/28(水) NY:AN:NY.AN行が先という事は
配列str[i][j]ときたら行がiってことですか?
これは関数の場合もそうなんですか?
int str(int i,int j)のような関数があればiが行ですか?
0669デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN配列はそれで合っている
関数の引数は自分で勝手に定義していいのでそうとも言い切れない
それにFORTRAN <=> C では tarnspose() が使えるだろ?
転置関数ね
0670663
2013/08/28(水) NY:AN:NY.ANってことは行ってのがまず大事で、成分見つけるにはどの行の何番目か
って順序だと思うからやっぱり先に来るものをとにかく行としといたほうが
いいんですかね。
0671デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN背中にバカと書いてある
0672デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANいやそうではなく、さっきも言ったが極論すればC言語の配列には「列」という概念が元々ない
それを構文糖で列に見えるようにしてるだけなんで
0674デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN依存するのか、しないのか、それだけだ
/* アドレス線の意味づけなんか知らんやつのね */
0675デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.AN0677663
2013/08/28(水) NY:AN:NY.AN0678デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANCならgccでいいんじゃね
clangってC++11の機能の実装だけならgccより進んでるけど
それ以外の最適化とかはまだまだgccに負けてるらしいし
0679663
2013/08/28(水) NY:AN:NY.AN脳の疲労が半端ない
快楽につながってる人は間違いなく変態天才だ
0680デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANこの当たりを読んでもらえば俺の言ってる事に近いと思う
脳の疲労?JavaとかC#のようなGC言語の方がよほど変態的じゃないか?
0683デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANそれ多分慣れてないだけ
慣れたら何ともないよ
0684デフォルトの名無しさん
2013/08/28(水) NY:AN:NY.ANコンテナでメモリリークが起きると非常にバグが取れにくい
GCはメモリリークが起きないと勘違いしているバカが組んだプログラムを直すのは
マジ一から書き直した方がいい位
スレ違いでした
お褒めにあずかり光栄です :-)
0686デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0687 ◆QZschizDIU
2013/08/29(木) NY:AN:NY.AN0688デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0689デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0691デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN自覚のない馬鹿には何を言っても無駄
0692デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0693デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANキーボードからアルファベット10文字を入力し、一番小さいものを返すプログラムですが、
5回しか入力できず、表示もうまくいきません。
http://pastebin.com/A29UKvJD
0694デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN一文字打つごとにEnterを押してない?
Enterも文字扱いだから、5回打った時点で10文字になるよ。
if (ch != '\n')・・・とか改行をはじく処理を入れるか、fgtes()みたいに
行単位で読み込む関数を使うかにすればうまくいくと思う。
0695デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANなるほど、そうだったんですね。
納得しました、ありがとうごじあます。
0696デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0697デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0698デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0699デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0700デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0701デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.ANそうか?
常識かと
0703デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0704デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN0705デフォルトの名無しさん
2013/08/29(木) NY:AN:NY.AN情報流出して大変なんだろw
自演やあらしをしていた人達は
0706デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0707デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN落ちた。その場で落ちた。
0708デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN馬を自由に乗りこなす人間の違いがわかるかね?
0709デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0710デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANでも何のための面接なんですか.....
凄い悔しいです、今からセルフフェラチオしていいですか?
0711デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0712デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANうむ、食いちぎれ。馬に乗るためには邪魔なものだ
0713デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0714デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0715デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN登る山を間違えている可能性は高い
0716デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANそれを参照するものであり変数や値ではありません。有名な例で挙げられるのはC/C++でのメモリアドレスを表すポインタが挙げら
れると思います。」
この説明で落ちた。
0717デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0718デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0719デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANC/C++言語ではアドレス格納型とその演算を含めたものの総称。
有名な例だけど概念違う。
0720片山博文MZコスモ ◆T6xkBnTXz7B0
2013/08/30(金) NY:AN:NY.AN>「ポインタというのは、…(中略)…変数や値ではありません。」
ダウト!
0721デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN今のうちにポインタを簡潔に説明するスレを立てないと
0722デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0723デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANこの説明もおかしい。
そこにアクセスできるかは関係なく、
論理的位置情報を指し示すものであって自身は参照もなにもしない。
自分に酔った説明の割に内容がめちゃくちゃ。
0724デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0725デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0726デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANCじゃないポインタをドヤ顔で語ってるのか
0727デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0728デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN採用する予定なんて無いのに求人するのは普通にある
0729デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0730デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0731デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANそれ以上の意味で使う事なんて無いから、めんどくさい定義なんていらん。
0732デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN>参照
気軽に使える単語ではない
0734デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0735デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0736デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN型情報に関してはプログラマが責任を持つのが普通
0737デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0738デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0739デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN1ビットでも100ギアなら100ビットの情報を保持できることになりませんか?
こんな事考えた人いますか?
0740デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0741デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANシリアル通信のこと?
0742デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN原理的には可能じゃね? 情報を時分割して保持するって事だろ。
しかし仮に物理メモリ量が100分の一になったとしてメリット無いだろ。
計算速度は1/100になるし、100倍のメモリ積んだ方が安いし。
0743デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANそうですよね。速さは関係ないですか。
ではこういうのは無理ですか?
あ光コンピュータか。
0744デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0745デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANソ ー ス か ら 消 せ よ
0746デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANchar *a;
これってどっちが正しいの?
俺は上使ってるけど
0747デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.AN0748デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANchar* func()
char *func()
どっち?
0749デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANchar *a, b;
0750デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANchar b;
0751デフォルトの名無しさん
2013/08/30(金) NY:AN:NY.ANchar *a,b;は成り立たないのですか?
変数の違い?
■ このスレッドは過去ログ倉庫に格納されています