
僕は今までJavaを勉強していたのですが、
つい最近になって、C言語に手をつけ始めました。
Javaを知っていればC言語は結構とっつきやすいのではないかと思って始めたのですが、Javaに慣れすぎたせいか、C言語の文法がどうもしっくりきません。
特に関数あたりが・・・・。
C言語の関数って、Javaでいうところのメソッドですよね?
僕はそのように解釈しているのですが、あまり自信がないので、ご存知の方がいましたらどなたか教えてください。
あと、Javaを学習した人のためのC言語の本、もしくはC言語を学んだ人のためのJavaの本がありましたら教えてください。
No.3ベストアンサー
- 回答日時:
こんにちは。
CからJavaという人がほとんど(私もそう)だと思うのですが、逆もいらっしゃる
のですね。今はJavaが前面に出てきてしまっているからそうなのかな?
Javaは最初に覚える言語としてもよい言語ですしね。
文法自体はほとんど同じですよね。
おっしゃる通りC言語の関数はJavaのメソッドにあたります。
クラスという考え方はありませんが、別ファイルであっても1つのクラス中に
メソッドをたくさん羅列して記述するようなイメージだと思います。
だから同じ名前の関数はあってはいけません。
あと、C言語の肝は何と言ってもポインタでしょう。諸刃の剣となるおそれも
ありますが、C言語ではなくてはならない非常に大事なポイントです。
本は「JavaプログラマーのためのC言語入門」があります。
下記のURLです。このHPでも結構解説していますよ。
頑張ってください。
参考URL:http://www.javaopen.org/jfriends/cforjava
この回答への補足
そうですね。ポインタがやまですよね。
ついさっき、こないだ買ってきた本でポインタの所を読んでいたんですけれども、読み進めていくうちに段々いらいらしてきて、結局こうしてネットに逃げてきてしまいました。(笑)
MMPichuさん、
分かりやすいご説明、そして今の僕がとても必要としている本、サイトを御紹介していただき本当にありがとうございました。
No.2
- 回答日時:
>C言語の関数って、Javaでいうところのメソッドですよね?
>僕はそのように解釈しているのですが、あまり自信がないので、ご存知の方がいましたらどなたか教えてください。
この考え方でOKです。
この場合、Javaのクラスにあたるものが、C言語で作成されたプログラム全体でひとつのクラスと考えればよいでしょう。
C言語のプログラムには、main関数、他の関数、グローバル変数などがありますが、
Javaのプログラムでは、mainメソッド、他のメソッド、フィールドに対応しているものと考えてみましょう。
>Javaを学習した人のためのC言語の本、もしくはC言語を学んだ人のためのJavaの本がありましたら教えてください。
ゴメンナサイ。こちらについては、わからないので他の回答者に任せます。
この回答への補足
うおっ、わかりやすい!!
やはり、関数=メソッドと解釈してよかったんですね。
ん?そういえば、少し前にSwingに関するコンストラクタについて質問をしたことがありましたが、その時も確かxinmanさんが分かりやすく答えてくれたような気が・・・。またまたお世話になっちゃいましたね。
No.1
- 回答日時:
C言語ってクラスという考えが無いんですよね。
C++なら有るんですけど・・・メソッドが羅列してある。
メンバ変数は無いのでグローバル変数、もしくは構造体にする。
私もあまりJavaはやってないのでこんな感じでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- IT・エンジニアリング c言語とjavaの需要について 3 2022/06/23 22:59
- IT・エンジニアリング バックエンドエンジニアに転職 2 2022/04/07 00:51
- IT・エンジニアリング FORTRAN、COBOL、C、Java、C++とか誰が作ったのですか?言語習い使いまた出て、キリが 4 2023/05/06 23:11
- C言語・C++・C# C#の基本文法が詳しく書かれている教科書的な本ありますか 2 2023/02/11 03:48
- その他(ソフトウェア) JavaとOracle Javaって何が違うんですか? 1 2022/05/05 05:46
- Java プログラミングのプの字も知りませんが、プログラミングを勉強したいです。とりあえず、学ぶものを決めない 3 2022/11/04 13:10
- C言語・C++・C# 至急お願いします。C言語で.imgのファイルを読み込んで1バイトづつ出力するプログラムを作りたいので 3 2023/01/16 22:49
- Java プログラミング教えてください。 5 2022/10/12 09:35
- JavaScript Python Java,Springフレームワークの習得 1 2023/08/02 15:28
- その他(言語学・言語) ピダハン語 2 2022/07/14 12:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FileUtilsクラスを使ってフォル...
-
C言語での文字列より値を抜き出す
-
メソッドとコンストラクタ
-
abstract と static を一緒に付...
-
スーパークラスからサブクラス...
-
エクセルVBAで、条件に一致する...
-
「タイプ初期化子が例外をスロ...
-
意味の違いを教えてください Sh...
-
Javaプログラミングの参照とメ...
-
C#の継承関係。
-
オブジェクト参照がオブジェク...
-
コンストラクタで設定した値が...
-
エクセルVBA 画像を貼り付ける...
-
エクセルVBAの不思議な挙動?
-
3年間同じクラスになる確率
-
プロジェクトの参照設定の一覧...
-
保育士ですが、他クラスの担任...
-
newは明示的にした方が良いのか?
-
ExcelVBAのプログラムをJavaへ変換
-
VC++でMFCアプリ作成中です。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
String.containsの反対機能はあ...
-
Java初級 引数に適用できません
-
abstract と static を一緒に付...
-
なぜprotected overrideなのか
-
C# 点の描き方をおしえてくだ...
-
レコード件数の表示
-
C言語での文字列より値を抜き出す
-
StringBufferからStringへキャ...
-
Java初心者です、エラーの意味...
-
Google Apps Script で getRang...
-
別クラスのmainメソッドの実行
-
Strutsでチェックボックスの値...
-
説明文書でのメソッド・変数の...
-
メソッド宣言の戻り値の型にク...
-
return new使用時
-
java ジェネリックスに関して
-
クラスを作るとメソッドの数が...
-
C# でメソッドに送られてきたOb...
-
メソッドの引数に指定されてい...
-
readLine()ではじめから読み直...
おすすめ情報