質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.50%
C

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

Q&A

5回答

109閲覧

文字変数と数字変数で変数名は使えますか?

siaron

総合スコア8

C

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

0グッド

0クリップ

投稿2018/06/15 21:30

どの言語でもそうかわらないとは思いますがよくわからなくなってしまいました
chato変数名
help変数名
list=chato
list.suuji←これを変数名として使えないか

という具合に数字と文字で組み合わせて変数は使えないんでしょうか?

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

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

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

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

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

HogeAnimalLover

2018/06/16 07:02

質問本文と回答者に対するコメントを読みましたが、質問の意味が分かりません。ご自身で疑問内容を整理することをお勧めします。
guest

回答5

0

どの言語でもそうかわらないとは思いますが

んなこたない
変数名だけ見ても「実行時には消えてなくなってる」「実行時にも保持している」「ローカル変数については消えているが、グローバル変数等は保持している」などと種類があります。

C言語については、「実行時には変数名は消えてなくなっている」言語なので
変数名をコンソールから入力して云々みたいなのはほぼ不可能です。
もし、これをやりたい場合にはハッシュ構造などを実装する必要があります。

これとは別に変数から別の変数を指す方法としてポインタ変数があります。

c

1int main(){ 2 int i = 88; 3 int *p = &i; 4 printf("%d\n", *p); // => 88 5 i = 55; 6 printf("%d\n", *p); // => 55 7}

投稿2018/06/16 04:44

asm

総合スコア15147

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

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

0

どの言語でもそうかわらないとは思いますが

いえ、「変数名を動的に生成する」ような操作を行う場合は、言語によって全く事情が異なります

残念ながら、C言語の場合はコンパイル時点で変数名の情報が消えてしまうなど、仕組み上変数名からの変数参照は対応していません。

投稿2018/06/15 22:59

maisumakun

総合スコア145123

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

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

siaron

2018/06/16 06:55

ありがとうございます よくは理解してませんが文字列を変数にしたいです 逆に変な疑問がわきますが 命令には変数でしていしますよね、命令みたいにはいかないものなんでしょうか?
maisumakun

2018/06/16 09:34 編集

「命令には変数でしていする」とはどういう意味でしょうか。C言語を扱う上で、「命令」という語は正式な術語として存在しません。
siaron

2018/06/16 15:56

関数とかの引数でint strと指定できるのはどういう風になってるのかなぁと思ったので
maisumakun

2018/06/16 22:09

それも、コンパイル後には名前が消えます。
guest

0

変数名を変数のナカミに対応したものとしたい、と言うならそういう名前をつければいいですが、
その変数に別の内容を代入したときはそのままでいいんでしょうか。

どういう名前をつけようがあなたの自由です

投稿2018/06/16 07:27

y_waiwai

総合スコア87719

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

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

0

Cなら配列で代用しますかね...

const char* name[5] = { "abe", "inoue", "ueda", "eguchi", "oda"}; // 名前(5人前) int score[5]; // 得点(5人前) int i; /* 5人の得点を0クリア */ for ( int i = 0; i < 5; ++i ) { score[i] = 0; }

...とかなんとか。

投稿2018/06/15 23:56

episteme

総合スコア16614

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

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

siaron

2018/06/16 15:55

ありがとうございます 同じような考えに行きつきました 変えると言うかフラグで変えるのが簡単だしスマートですね
guest

0

投稿2018/06/15 22:03

Orlofsky

総合スコア16415

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

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

siaron

2018/06/15 22:30

そゆことではなく、変数名の部分を別の変数名に入れてその変数として表現できないかということです
Orlofsky

2018/06/15 23:26

似たようなところで、構造体や共用体を調べてみては?
siaron

2018/06/16 15:56

ありがとうございます 構造体は聞いたことありますが共用体は初耳でした
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問