AppleサポートAppおよびYouTubeチャンネルのお知らせ

* iOS向けAppleサポートAppのバージョン5.6.1が公開されました。

YouTube - Apple Japanチャンネルで有用なヒントや使い方を配信中です。

コミュニティでの投票方法と通知設定

コミュニティでの投票方法や通知の設定方法に関する記事を公開しました。

Apple Account(Apple ID)の不正利用を確認する方法

Apple Accountに関するよくある質問についてはこちらのページを、また不正利用を確認する方法についてはこちらのドキュメントをご参照ください。

しばらく返答が寄せられていないようです。 再度ディスカッションを開始するには、新たに質問してください。

Xcodeを使ったC言語学習の為の参考書を探しています。

Xcodeを使ったC言語学習の為の参考書を探しています。
MacOSX 10.6.4を使用していて、昨日Xcodeをインストールし"HelloWorld"をやっとこせ表示できるようになりましたが、今までWindowsのVB環境でしか勉強したことがなく(しかも相当初心者)この先不安です。

HelloWorldを表示させたといっても、Xcodeを立ち上げて新規作成で自動的にmain関数が作成されたのをビルドしたに過ぎず、正直自動作成されたmain関数についても

main(int argc,char **argv[])

のようになっていて引数の部分がよくわからず、困惑している状態です。
空のファイルはどの様に作れば良いかなども解らない状態です。

今のところ"Happy Macintosh Developing Time "というのが良いのではないかと当たりをつけていますが、Amazonで見たところいくつか種類があって(以下)
http://www.amazon.co.jp/s/ref=nb_sb_noss?__mk_ja …

自分の様な初心者に見合う物がどれなのか迷っています。他の書籍含め、どなたかアドバイス頂けないでしょうか?

皆様どうぞ宜しくお願いいたします。

MacBook Pro, Mac OS X (10.6.4), C言語,Xcode

投稿日 2010/09/14 14:06

返信
返信: 16

2010/09/14 15:05 hiwasawa への返信

回答ではありませんが...。hiwasawa さんは、この「Xcodeを使ったC言語学習の為の参考書を探しています。」を「AppleWorks」の会議室に書き込まれています。しかし、「AppleWorks」(旧 ClarisWorks)は2007年に販売終了したアップルの統合ソフトで、Carbon API のソフトウェアで、Unicode 未対応のものでした。そのため、現在は、Unicode 対応の Cocoa API の「iWork」が後継ソフトとして提供されています。ご質問の趣旨から言って、あきらかに会議室違いです。


恐らく適切な会議室は「Mac OS」→「Mac OS X Technologies」→「Developer」辺りが適切な会議室ではないでしょうか? お手数ですが、このスレッドを「Developer」に移動してくださいますか?


「移動」とは、このスレッドを「放置」して、「Developer」に新しいスレッドを立てると言うことではありません。このスレッドそのものをゴソッと「Developer」に移動してしまうことです。スレッドの移動はスレ主だけができます。画面の右上に「アクション」という枠組みが見えますが、そこに「スレッドを移動する」という項目があります。それをクリックして(少々分かりにくいのですが)「Developer」を見つけ出して、そこへの移動を選択してください。それだけで、このスレッドは適切な会議室に移動されます m(._.)m。


--------------------

Apple 17" MacBook Pro (Intel Core 2 Duo T7600/2.33 GHz/3 GB RAM/500 GB HDD)

Mac OS X 10.6.4 (Build 10F569) [Snow Leopard]

2010/09/14 17:36 hiwasawa への返信

プログラミングの学習方法についての質問と捉えて考えを述べます。


プログラミングに必要な知識を網羅した参考書は一般的には存在しません。

プログラミングに必要な知識として,以下のように分ければ,それぞれに参考書あるいはオンラインヘルプ等,何らかの情報を入手することは可能と思います。


(1) 言語(C言語,他)に関する知識

(2) 開発環境(VB, Xcode, 他)に関する知識

(3) 実行環境(Mac, iPhone, Windows, 他)に関する知識


おそらく,(3)はMac用あるいはiPhone用のアプリケーション開発が目的なのでは無いかと思いますが,そうであれば(1)はObjective-Cをターゲットにした方がよいと思います。関連知識としてC言語も知っていて損は無いですが,今から始めるのであれば,Objective-Cから入った方が得策ではないかと思います。

(2) はXcodeで検索してみるか,逆にMacやiPhone等のアプリ開発に関する情報の一部としてXcodeの使い方が記されていることもあります。

ただし後者の場合,Xcodeのバージョンが古くて若干混乱する箇所も出てくると思います。また英語版と日本語版との差で戸惑うこともあります。


空のファイルはどの様に作れば良いかなども解らない状態です。


空のファイルというのが,新規ソースファイルのことなのか,プログラムの出力ファイルのことか不明ですが,前者であればプロジェクトという概念で捉えて,その一部としてプログラムコードが存在すると考えるとよいかと思います。アプリケーションを構成するものには実行コード以外に,アプリケーションウィンドウやボタン,アイコン等があり,それらを総合的に管理するものがプロジェクトと私は捉えています。


どの参考書が適しているかは,hiwasawaさんが(3)に関する知識をどの程度有しているかにも依存します。

(3)のターゲットがMac用一般アプリケーションだとしたら,Macは歴史が長い分,必要になる知識も広範囲に渡りますので,Macに関する知識次第ですが,相当学習しないといけないかも知れません。

ダッシュボードウィジェットとかiPhoneアプリがターゲットなら,それほど大変では無いと思います。

2010/09/14 18:04 hiwasawa への返信

念のため確認ですがC言語は学習済みという事で、それでObjective-CではなくC言語でよいのですよね。

hiwasawa さんによる書き込み:


今のところ"Happy Macintosh Developing Time "というのが良いのではないかと当たりをつけていますが、Amazonで見たところいくつか種類があって(以下)
http://www.amazon.co.jp/s/ref=nb_sb_noss?__mk_ja …

自分の様な初心者に見合う物がどれなのか迷っています。他の書籍含め、どなたかアドバイス頂けないでしょうか?

リンク先の本を見た事は有りませんが、レビューの内容から考えると、3冊とも購入の必要が有りそうです。初心者向けでない可能性もかなり高いです。

2010/09/14 18:14 ni_ki への返信

私はプログラムはさっぱりですが、

hiwasawa さんによる書き込み:


main(int argc,char **argv[])
のようになっていて引数の部分がよくわからず、困惑している状態です。

コマンドなどを作った際の、そのコマンドに渡す引数の数とその文字列とのことです。


C言語が学習済みなら、Xcodeの入門書を購入した方が、よいのではないかと思います。それと、本屋さんで実際に手に取り「はじめに」とかを読まないと内容はわからないので、通販ではきついのではないでしょうか。

2010/09/14 23:29 ni_ki への返信

ご回答ありがとうございます。


はい。Objective-Cではなく、C言語を学習したいのです。

他の言語でも開発経験と呼べる程の経験がなく、

しかもプログラミング言語だとPHPしかさわったことがないに等しいので変数の型とか、

ビルドとか、ポインタとか構造体とか、良く解っていないことがかなりあります。


初心者のC言語みたいな本を買って練習してます。


自宅のPCがMacな為、MacでC言語を勉強できないかと思いネットで調べていました。


windowsだとVBという統合開発環境があり、とても便利なのでMacでもそのようなツールが

ないかと思っていたところ、Xcodeというツールがあることを知り、インストールしたまでは

良かったのですが、コードが自動作成されてしまうので、ちょっと困っていました。

困っていたというのは、VBだと空のソースファイルを作り、ソースコードは1から書いていく

ことができたのですが、Xcodeだと、引数付きのmain関数ができてしまうことです。


未熟な為、main関数に引数がある理由が解らず困惑しました。

調べれば理由も解るかとは思うのですが、今はまず

1. 白紙の.cファイルが作れる

2. エディタとしての機能(デバッグ、コードの色分け等)

3. ビルド、実行がGUIで行える


という機能を満たすツールが欲しいと思っています。

わがままですいません。


Xcodeは用途が違うのでしょうか。

質問の仕方が悪かったのかもしれませんが、

アドバイスいただければ幸いです。

2010/09/15 00:19 hiwasawa への返信

こんばんは。


MacでC言語使っております。

主にAVRマイコンのプログラム作成。あとはunix系のソースのコンパイル。

(会社ではWin.マシンで組み込み系プログラマーやってます。)


XCodeは使ってないです。コマンドラインからgccでmakeしてます。


純粋にC言語を学びたい、、というのであれば、別にXCodeは使わない

でもよいと思いますよ。


unix系のCの本と、C言語自体の初心者向け解説の本でもまずはよいと思います。

例に挙がってるXcodeでCocoaAPI、、、といった本は敷居が高いでしょう。

(MacでGUIを使いたい人向けです。)


私はmiエディタ(ミミカキ・エディタ)でCのソースを書いてgccでmake、

コマンドラインから実行してます。File操作も普通にできますよ。

AVRマイコンの場合はavrgccでmakeしてUSB経由でAVRマイコンに書き込んで

実行させてます。


個人的にはWindowsで別売りのVB買うよりも全てがそろっているMacでC言語を

習得するほうがよっぽどいいのに、、と思ってます。(笑)


MacはC言語の習得にはけっこう最適のマシンだと思ってます。


コツコツやっていけば大丈夫ですよ。

ではでは。

2010/09/15 00:23 hiwasawa への返信

hiwasawa さんによる書き込み:


ご回答ありがとうございます。


はい。Objective-Cではなく、C言語を学習したいのです。

他の言語でも開発経験と呼べる程の経験がなく、

しかもプログラミング言語だとPHPしかさわったことがないに等しいので変数の型とか、

ビルドとか、ポインタとか構造体とか、良く解っていないことがかなりあります。


初心者のC言語みたいな本を買って練習してます。


自宅のPCがMacな為、MacでC言語を勉強できないかと思いネットで調べていました。


windowsだとVBという統合開発環境があり、とても便利なのでMacでもそのようなツールが

ないかと思っていたところ、Xcodeというツールがあることを知り、インストールしたまでは

良かったのですが、コードが自動作成されてしまうので、ちょっと困っていました。

困っていたというのは、VBだと空のソースファイルを作り、ソースコードは1から書いていく

ことができたのですが、Xcodeだと、引数付きのmain関数ができてしまうことです。


未熟な為、main関数に引数がある理由が解らず困惑しました。

調べれば理由も解るかとは思うのですが、今はまず

1. 白紙の.cファイルが作れる

2. エディタとしての機能(デバッグ、コードの色分け等)

3. ビルド、実行がGUIで行える


という機能を満たすツールが欲しいと思っています。

わがままですいません。


Xcodeは用途が違うのでしょうか。

質問の仕方が悪かったのかもしれませんが、

アドバイスいただければ幸いです。


CはUNIXやUNIX用のプログラムを作成するために作られたものなので,Cを勉強するのに最適な実行環境はターミナルです。

なので,エディタはJedit等を使い,ビルド,実行は,ターミナルコマンド(cc, chmod +x, ./a.out)を使うのが,基本に忠実でお勧めです。


Cで作るプログラムの基本動作は,ファイルを読み込んで,ファイルを書き出すものです。

ただしファイルの概念は広く,普通のファイルだけでなく,キーボード入力や画面表示もそれぞれ,入力のみ,出力のみのファイルとして扱うことができ,このような仕掛けで色々なことができます。


しかしながら技術が進歩して,ファイルの概念だけでは扱いにくいGUIというものが現れました。

GUIを扱うのに適したものがオブジェクトという概念で,これをCで扱うようにするために色々なC派生言語が生まれました。

その一つがObjective-Cです。

2010/09/15 01:37 亀どん への返信

亀どんさんへ


大変ありがとうございました。

とりあえず、gccが既に入っていたようで、

http://vigs.adam.ne.jp/hpmake/c/5cc.htm

を参考にコンパイルして実行してみました。


デスクトップにソースを置いてコンパイルしたところ、a.outという実行ファイルができ、

ターミナルから実行までこぎ着けました。


エディタ等はおすすめのものを後日使ってみたいと思います。


ありがとうございました。


Xcodeはとりあえず、脇に置いておこうかと思います。

Xcodeを使ったC言語学習の為の参考書を探しています。

Apple サポートコミュニティへようこそ
Apple ユーザ同士でお使いの製品について助け合うフォーラムです。Apple Account を使ってご参加ください。