teratail header banner
teratail header banner
質問するログイン新規登録
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

2回答

431閲覧

C,C# #include命令に関して

dekky0910

総合スコア93

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2017/07/20 07:16

0

0

お世話になります。

今回すごく初歩的な質問になってしまうとは思いますが、

main.cpp

no1.h

no2.cpp
という3つのファイルを用意し、

mainでは
’#include"no1.h"

no1では
’#include"no2.cpp"

そしてno2では
int test;
という変数を用意した場合、mainからno2のtestの変数は扱えるのでしょうか?

ご教授よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

通常、.cpp#includeしてしまうようなことは、(それを意図して書いたコードを除いて)やってはいけません

ヘッダ以外の関数定義などを#includeしてしまうと、同じ関数の定義が複数箇所に現れることとなるため、リンクに失敗します。

投稿2017/07/20 07:24

maisumakun

総合スコア146686

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dekky0910

2017/07/20 08:12

回答ありがとうございます。 ヘッダ以外を#includeするのはいけないということは、あまり意識してなかったので気をつけたいと思います。
yumetodo

2017/07/20 10:40

#includeはただの自動コピペマシーンなのでちゃんとわかって使うぶんにはcsvとかとかとにかくテキストファイルならなんでも読み込める。読み込んだあとでC/C++として合法かはさておき
guest

0

ベストアンサー

no1.h に extern int test; って書いてあれば test を読み書きできる。

[追記] ~.cpp を #include するのはご法度。

投稿2017/07/20 07:24

編集2017/07/20 07:43
episteme

総合スコア16612

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dekky0910

2017/07/20 08:13

回答ありがとうございます。 exeturn を使用すればいいのですね、助かりました。 追記もわざわざありがとうございます。
episteme

2017/07/21 01:13

余計なお世話だが、グローバル変数は「使ったら負け」くらいのつもりで。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問