C言語なら俺に聞け! Part 79
■ このスレッドは過去ログ倉庫に格納されています
0001v(^o^i)d
NGNG質問する前には最低限検索を。
GUIなどの標準Cではできない事の質問は使用している開発環境のスレへGo! (←ここ注目)
ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへさようなら。
エラー(警告含む)が起きたのならばエラーメッセージを書きましょう。
コンパイラを探しているなら >>2-13 を。
上記を逸した場合の結果は激しく未定義だYO!
C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/
各種リンクは>>3-20あたり(誰か適当に貼って)
Cなら俺に訊け! Part 78
http://pc5.2ch.net/test/read.cgi/tech/1083651280/
他の過去ログはここに
http://nssearch.hp.infoseek.co.jp/clang/
0154デフォルトの名無しさん
NGNGいや、明らかに出来てないだろ。
0155デフォルトの名無しさん
NGNG突っ込み所満載だな
0156デフォルトの名無しさん
NGNG0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNGvoid (*pp[])() = { func1, func2, func3 };
int i;
for (i = 0; i < 3; i++) {
(*pp[i])();
}
の呼び出してる所、[ ]がある時点ですでに中身参照って意味じゃないんですか?
*pp[i]って、ポインタのポインタみたい。って思うんです。
0159デフォルトの名無しさん
NGNGもうちょっと質問の形にしてくれる?
何を答えたらいいか、わからんよ。
ちなみに呼び出し行は、
pp[i]();
と書いてもいいよ。
0160デフォルトの名無しさん
NGNGそれは「関数ポインタ」の配列
0161デフォルトの名無しさん
NGNGそう!それも分からんかったです。
void (*pp)() = func1;のときに、
呼び出すときに、(*pp)();でもpp();でも良いのは何でだろう?と。
あと、>>158のは、うーん、なんというか、
例えばa[5]とかくと、*(a + 5)と同じだと思うんですけど、
だから(**(pp + i))に見えるんですよ、*pp[i]って。
宣言の時アスタ1個しかついてないのに???ってなるんです。
*は中身参照だと教わったんですが、多分まだそれがいまいち理解できてないんだと思います・・・
0162デフォルトの名無しさん
NGNG0163デフォルトの名無しさん
NGNGポインタ配列へのポインタを使うのです
0164デフォルトの名無しさん
NGNGargv(mainの第二引数)と同じ
0165デフォルトの名無しさん
NGNG中身を参照しただけじゃ関数は呼び出せないから。
呼び出すには()が必要。
[]で配列から要素(関数ポインタ)を取り出し、()で呼び出す。
0166165
NGNG関数ポインタはちょっと特殊で、何度間接参照してもOK。
0167デフォルトの名無しさん
NGNG0168デフォルトの名無しさん
NGNGどれが?
0169デフォルトの名無しさん
NGNGGCCです
0171デフォルトの名無しさん
NGNGftp://core.ring.gr.jp/pub/GNU/gcc/
0172167
NGNGCの勉強がしたいのでとりあえずコンパイルできる環境がほしいのですが
0173デフォルトの名無しさん
NGNG0174デフォルトの名無しさん
NGNG0175デフォルトの名無しさん
NGNGiMac買えば最初から入ってるよ。
ccもviも、
apacheもemacも
rubyもperlもsendmailもxmllintも!
0176デフォルトの名無しさん
NGNG> if(bundan == *reference[l])
空白あけろよ ぼけ
0177デフォルトの名無しさん
NGNGiMacってLinuxのパクりOSなんですね。
0178デフォルトの名無しさん
NGNG(
bundan
==
*
reference
[
l
]
)
0179デフォルトの名無しさん
NGNG>iMacってLinuxのパクりOSなんですね。
>iMacってLinuxのパクりOSなんですね。
0180デフォルトの名無しさん
NGNG0181デフォルトの名無しさん
NGNG0182デフォルトの名無しさん
NGNGばーか
0183デフォルトの名無しさん
NGNGに入ってるOSは違うの?
0184デフォルトの名無しさん
NGNG0185デフォルトの名無しさん
NGNGそれは空白ではないですね。
0186デフォルトの名無しさん
NGNGiMacでMS Office買って入れると、Virtual PCがはいるんだけど、
Aquaのウィンドウと、
Windows XPのウィンドウと
Xのウィンドウが
混在して、楽しいですよね。
ちなみに、そのままでccが使えないのはWindowsのウィンドウだけです。
0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNGなので、買ってすぐにCの勉強できていいよね。
0189デフォルトの名無しさん
NGNG君には負けたよ。
0190デフォルトの名無しさん
NGNGGCC(1) GNU GCC(1)
NAME
gcc - GNU project C and C++ compiler
SYNOPSIS
gcc [-c|-S|-E] [-std=standard]
[-g] [-pg] [-Olevel]
[-Wwarn...] [-pedantic]
[-Idir...] [-Ldir...]
[-Dmacro[=defn]...] [-Umacro]
[-foption...] [-mmachine-option...]
[-o outfile] infile...
Only the most useful options are listed here; see below for the remain-
der. g++ accepts mostly the same options as gcc.
0191デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNGいまどきWinアプリをCで作るやつなんていないからな。
0193デフォルトの名無しさん
NGNGC、C++、Javaが
3:5:2ぐらいだね。
10万人ぐらいつれてきたら、3万人以上はいる。
0194デフォルトの名無しさん
NGNG0195デフォルトの名無しさん
NGNGccが入っていないWindows君は、当然C++もJavaも入ってないのです。rubyもperlも! awkさえない!
0196デフォルトの名無しさん
NGNGCは社会に出てからっていう人が多い。
0197デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNGばーか
VBS, CMD, C#, JScript, C#, VB.NETとか入ってるだろ。
そんな古臭い糞ツールはいまどきはやらないんだよ。
0199デフォルトの名無しさん
NGNGプ
0200デフォルトの名無しさん
NGNG改行も空白の一種だが。
0201デフォルトの名無しさん
NGNGなぜ、「C#」だけ二度も出てくる?
そんなに「C#」を強調したいのか?
0202デフォルトの名無しさん
NGNGきっと isspace() を使ったことないんだよ
0203デフォルトの名無しさん
NGNGWindows2000 AdvancedServerにはPerlが入っている。
0204デフォルトの名無しさん
NGNGisspace()とisblank()、歴史が古いのはどっちでしょう?
また、どっちがより範囲が広いか知ってますか?
(10秒以内に答えられたら500円あげる。
0205デフォルトの名無しさん
NGNG手持ちの解説書には『右辺の変数を左辺の変数にデータ型変換して代入』と
書いてあるのですが、以下の場合の右辺と左辺はどれになるのかわかりません。
てか、(BBB *)って何をしてるのでしょう・・・
stpBBB = (BBB *) cpAAA;
(※stpBBB,cpAAAは構造体で、エリアポインタセーブとして宣言されています)
いくらぐぐってもこんなキャストのやり方でてきません_| ̄|○
0206デフォルトの名無しさん
NGNGはいってませんよ > Windowsに
0207デフォルトの名無しさん
NGNG=の左か右か
0208デフォルトの名無しさん
NGNG> stpBBB = (BBB *)cpAAA;
右側が右辺
左側が左辺ね
って、もしかして箸を左手でもつほうですか?
0209デフォルトの名無しさん
NGNGおそらく(BBB *)cpAAAしか注目していない。
0210デフォルトの名無しさん
NGNG>てか、(BBB *)って何をしてるのでしょう・・・
「BBB *」型に型変換をしている
0212デフォルトの名無しさん
NGNGその手持ちの解説書とやらに書いてあるじゃないか
0213デフォルトの名無しさん
NGNG藻前、プログラムに向いてないよ
0214デフォルトの名無しさん
NGNGいつのWindowsの話をなさっているのでしょうか…
0215デフォルトの名無しさん
NGNG向いていないのはわかっています。
ですが、向いていないからやらないというわけにはいかないのです。
0216デフォルトの名無しさん
NGNG0217デフォルトの名無しさん
NGNGスルーしたつもりはないのですが失礼しました。
>>209
>>210
「BBB *」型に型変換をしている
*の指す意味がよくわかりません。
0218デフォルトの名無しさん
NGNGBBB *型は、BBB型のポインタ型
0219デフォルトの名無しさん
NGNGBBB型のポインタ型ですか・・・
ぐぐってみたら色々出てきましたので見てみます。
ご親切にありがとうございました。
0220元プログラマ
NGNG(BBB *)はキャスト(cast)を行っている。
機械語でいえば、どちらもアドレスを格納しているのだから
同じ語長(バイト数)となる。(near , farは考慮せずに言えばだが・・・)
つまり、アセンブラなら例えば、move a , b といった感じで
書けるわけだ。
だが、C言語には型があり、文法でエラーとなる。
そこが高級言語の窮屈なところでもあり、いいところでもあるわけだが。
でも型が違っても、語長は同じだし、機械語レベルで言えばアドレスと
いう値であるから、同じといえば同じなんだな。
それをC言語で文法チェックで代入できないところを、同じものなら
代入できるようにしてあげよう!なんて親切な機能がキャストだ。
わかったかな?
でも、ついでにいえば、キャストというのはアドレス
でなくても、無理矢理変換できてしまうから、変なことしていると
落ちてしまうのだ。
だが、そういう落ちてしまうようなシステムを作るのはC言語プログラマ
としては3流だから、無視することとして(おれの作った組み込みは
ハードが壊れないかぎり絶対に暴走はしないと自信がある!)
まあ、おれさまのようなちょー一流プログラマになれば
キャストがあったらいろいろ便利につかえるのだ。
と、DQNなおれだが、たまには自慢させてくれ。
以上。
0221デフォルトの名無しさん
NGNG0222デフォルトの名無しさん
NGNG自分も同じで「エリアポインタセーブ」が何だか聞きたいんだけど。
0223デフォルトの名無しさん
NGNG0224デフォルトの名無しさん
NGNG0225デフォルトの名無しさん
NGNG>おれさまのようなちょー一流プログラマになれば
>DQNなおれだが
己のDQNさを自覚しているのも質悪いな。
キャストの説明も間違ってるし。
0226デフォルトの名無しさん
NGNG開発環境は初めからほとんど揃ってる。あとは欲しい言語をダウソして終わりだ。
0227131
NGNGすみません 少し考えたんですがわかりませんでした・・・
>>145
本当に釣りではないですよ(笑
おっしゃるとおり読む人のことを考えたらどっちがいいのかなぁ?と
思ってレスさしてもらいました
�Aがいいようなのでこれからそうしたいと思います
あと他にこんな書き方のほうがいいぞ!ってあれば教えてください
お願いします&返事ありがとうございました(>Д<)ゝ
0228デフォルトの名無しさん
NGNG文字化けしてるぞ!
0229デフォルトの名無しさん
NGNG0230デフォルトの名無しさん
NGNG#define MAX(x,y) ((x)>(y)) ?(x) :(y)
0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNG△△△△1
△△△22
△△333
△4444
55555
って表示させるにはどうすりゃいいんだ!
ifを使えってさ!あと△はヌルだってさ!
途中まで考えた!
int i,j;
for(i=1;i>6;i++){
for(j=1;j>6;++)
printf("%d" ←ここらから分かってない。
if(j>i
助けてくれ!マジで!
0233デフォルトの名無しさん
NGNGとりあえず最初のforループの判定に失敗するがいいのか?
0234デフォルトの名無しさん
NGNGC/C++の宿題をやらせて、お兄ちゃん 22代目
http://pc5.2ch.net/test/read.cgi/tech/1083050221/l50
0235デフォルトの名無しさん
NGNGうわ!そんなところから違うのか!ぎゃおす
>>234
誘導ありがとうございます。そちらに逝かせておもらしします。ありがとうごまします
0236デフォルトの名無しさん
NGNG>あと△はヌルだってさ!
表示しろってか?
0237デフォルトの名無しさん
NGNGスペースだってさ!もう少しっていうかかなり勉強してくるぜ!誘導先に!
0238デフォルトの名無しさん
NGNG0239デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNG0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNGありがとうございましT。
0243デフォルトの名無しさん
NGNG標準Cのみでは不可能。
環境スレに行け。
0244デフォルトの名無しさん
NGNGVC++あります。
スレ違いになりそうなので移動しますね
0245デフォルトの名無しさん
NGNGどうすればいいのでしょうか?キャストか何かで出来ないでしょうか?
char a[100][1000]; ←このメモリをmalllocで確保したい。
a[20][30] = 'a';
0246デフォルトの名無しさん
NGNGムリ
#define Dim(name,x,y)((name)[(y)*100+(x)])
char *a;
a = calloc(100,1000);
Dim(a,20,30) = 'a';
こうやって誤摩化すか、構造体使え
0247デフォルトの名無しさん
NGNGtypedef (*array_type)[1000];
array_type a;
a = (array_type)malloc( sizeof (char [100][1000]) );
a[20][30] = 'a';
0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNG激しくスレ違い
0250デフォルトの名無しさん
NGNGc++でもcは使えますか?
0251デフォルトの名無しさん
NGNG>c言語を使いたいのですが無料のソフトありませんか?
>>2
>c++でもcは使えますか?
OK
0252デフォルトの名無しさん
NGNGそういや>>2だけみると無料だってことが分からないな
■ このスレッドは過去ログ倉庫に格納されています