- - PR -
C言語で初心者本を読んだ次の一手は?
投票結果総投票数:55 | |||
---|---|---|---|
ポインタを徹底的に | 47票 | 85.45% | |
コンパイル周辺を理解しろ | 3票 | 5.45% | |
関数群を叩き込め | 2票 | 3.64% | |
初心者本もう一冊? | 3票 | 5.45% | |
|
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-08-12 17:47
おお、凄い情報量になっている。皆様ありがとうございます。
業務で利用している OS は Solarisです。 IDEは家でダウンロードして遊んでみます。
正直な話、「間違いがある」と言われなかったら普通に動くと思ってしまう... ソースを動かさずに脳内チェックだけで返答してみます。 回答: AllocBuffer関数で確保したメモリ空間を初期化していない事。 理由: (1)VBと異なりCでは確保したメモリが自動で初期化されない。 (2)strcpy関数の操作では複写値にNullポインタが自動付与されない。(多分...) (3)長さ指定をしない文字列操作ではNullポインタ(0x00)で文字列の終わりを示す。 (4)よってprintf関数の%s処理にて"TEXT"の後続に変な文字が表示される。 または、コアダンプで異常終了する?運がよければセーフ? 如何でしょう? | ||||||||
|
投稿日時: 2004-08-12 17:49
LC で Think C を動かしていたのは今は昔...
Apple 社が出している MPW なら利用可能です。ドキュメントは英語ですが。 http://developer.apple.com/tools/mpw-tools/ http://member.nifty.ne.jp/kyoryo/mactip/mpw/index.html に初期導入の手引きが書いてあります。 ちなみに MacOSX(Tiger) だと Xcode が付属しているんですねぇ。 | ||||||||
|
投稿日時: 2004-08-12 18:01
ち〜っす。がるです。
うふふふふ。大好きなCの話になってる(笑 はにまるさんに、ちょっとだけヒント。
似たような部分からその差異を洗い出してみてください(笑 ヒントは「通常変数に対してポインタ。ポインタに対してなら ポインタのポインタ」。 …ヒント出しすぎかな? 頑張ってください〜〜 | ||||||||
|
投稿日時: 2004-08-12 18:16
こんにちは。
とりあえず、がるがるさんのすばらしぃヒントを参考に 考え直されることをお勧めして・・・。
回答とは関係ないところで少々。 ダブルクォートでくくられた文字列にはヌル文字がちゃんと含まれています。 なので、strcpyで"TEST"を変数にコピッたら「文字列の終わり」って おっしゃってるやつも分かります。 ちなみにNullポインタって・・・、違いますよ^^; | ||||||||
|
投稿日時: 2004-08-12 18:22
ぽんすさんにコメントするときはビクビクもんです。なにを指摘されるやら…(笑)
確かに誤解ですね(笑) かなり昔の記憶で申し訳ないのですが、基本は「配列=メモリ上の実体」を差し、「ポインタ=アドレスの間接参照」じゃなかったかなぁ…と。添え字演算子は演算の際に間接参照として展開するから、あたかもポインタのように利用できるけど、実際には似ても非なるものである…と本で読んだ記憶があります(笑) …なにが言いたいのか、よくわからないな(爆) # うーん。説明するのって難しいですね^^; | ||||||||
|
投稿日時: 2004-08-12 18:50
がるでふ。追加です。
http://www.m-fr.net/etc/refer.html 大分昔に書いたものなのですが……恥をさらしてみます(笑 # 是非皆様突っ込んでください。光の速さで修正します(爆 | ||||||||
|
投稿日時: 2004-08-12 19:22
a[i]は*(a+i)のシンタックスシュガーである、というのを勘違いされているのではないですか。 a[i]とi[a]が交換可能であるというのは有名ですね。 | ||||||||
|
投稿日時: 2004-08-12 19:31
># 是非皆様突っ込んでください。光の速さで修正します(爆
突っ込めといわれたので突っ込んでみます(笑 >マシン語 アセンブラですね。 マシン語だと 01h 00h 20h >LD BC 0x200 >LD (BC) 0x200 LD BC,0x200 LD (BC),0x200 # 200h の方が多かったと思います。 Z80はもう0x だったかな >先ほどのLDCの技 LDCは紹介されていません。 LDですね。 # 別のページで紹介してたらすみません。 古い部分に反応してすみません。 _________________ えムナウ Microsoft MVP for Visual Developer - C#,2005/01-2007/12 えムナウのプログラミングのページ Blog1 Blog2 |