初投稿です。とあるサイトの変数についての質問です。
Posted: 2020年12月26日(土) 23:28
初めての投稿です。気軽に何でも質問を受け付けているところに非常に魅力を感じています。
新たな言語を試みようと以下のサイトを通してC言語の学習しはじめたのですが...
http://c-lang.sevendays-study.com/day2.html
以下の文章が書かれていました。
『また、変数の宣言をする場所ですが、必ず{}の先頭の部分で行わなくてはなりません。以下のように、何らかの処理が行われた後で変数を定義すると、エラーになりますので、注意が必要です。』
以下のコードを打ち込んで検証しました
#include <stdio.h>
void main()
{
// 先頭の部分で変数の宣言を行う。
int a, b = 1;
double d = 0.1, e;
printf("hello\n");//何らかの処理
int c = 10;//何らかの処理の後の宣言と初期化
printf("%d", c);//宣言の後の処理
}
C#を少しかじってから、Cに来ていることもあるのでこんがらがっていることもあるかもしれません。このサイトでは宣言とか言っているくせに、初期化していますし、エラーになると注意されていることを試してみても問題なく、実行できました。初期化されていな変数は先頭部分に限らず、エラーが起こるから、初期化をしないと、エラーが出るということを言いたいのだと思うのですがこのサイトの明記の仕方が変でしょうか?それとも何かしらの修正があったのですか?具体性に少し欠けた説明ですが、よろしくお願いします。
新たな言語を試みようと以下のサイトを通してC言語の学習しはじめたのですが...
http://c-lang.sevendays-study.com/day2.html
以下の文章が書かれていました。
『また、変数の宣言をする場所ですが、必ず{}の先頭の部分で行わなくてはなりません。以下のように、何らかの処理が行われた後で変数を定義すると、エラーになりますので、注意が必要です。』
以下のコードを打ち込んで検証しました
#include <stdio.h>
void main()
{
// 先頭の部分で変数の宣言を行う。
int a, b = 1;
double d = 0.1, e;
printf("hello\n");//何らかの処理
int c = 10;//何らかの処理の後の宣言と初期化
printf("%d", c);//宣言の後の処理
}
C#を少しかじってから、Cに来ていることもあるのでこんがらがっていることもあるかもしれません。このサイトでは宣言とか言っているくせに、初期化していますし、エラーになると注意されていることを試してみても問題なく、実行できました。初期化されていな変数は先頭部分に限らず、エラーが起こるから、初期化をしないと、エラーが出るということを言いたいのだと思うのですがこのサイトの明記の仕方が変でしょうか?それとも何かしらの修正があったのですか?具体性に少し欠けた説明ですが、よろしくお願いします。