天国にいけるC言語入門 ヘキサ構造体 ver3.2128
数値だけでなく文字データ 'a','b','c'など を配列に格納してみようよ char型の配列宣言を行ってみます。もちろん簡単な初期化方法もつかってみます
数値だけでなく文字データ 'a','b','c'など を配列に格納してみようよ char型の配列宣言を行ってみます。もちろん簡単な初期化方法もつかってみます
solarplexuss 「ふふふ マックスが配列の次元を拡張している間に
'文字'を配列に格納しちゃえ
文字データていうのはシングルクォーテーション'で
半角英数字1文字を囲ったものだったよね。
'a'
's'
'1'👈1をシングルクォーテーション'で囲っています
'a'
's'
'1'
は
文字データを表していますね(^_-)-☆
今度は 数値データだけでなく文字データを配列にとりこんでみましょう。
その場合は
整数値データを格納するint型でなく
文字データを格納するchar型を
配列宣言にもちいます。
#include <stdio.h>
int main(void)
{
char hairetu[4];//ここでchar型の配列宣言をおこなっています
hairetu[0]='n';
hairetu[1]='e';
hairetu[2]='k';
hairetu[3]='o';
printf("%c\n",hairetu[0]);
printf("%c\n",hairetu[1]);
printf("%c\n",hairetu[2]);
printf("%c\n",hairetu[3]);
return 0;
}
プログラムの実行結果
n
e
k
o
solarplexuss
「整数値を格納するint型でなく
文字データを格納するchar型の配列宣言を行わなければ
配列変数
hairetu[0]
hairetu[1]
hairetu[2]
hairetu[3]
は文字データを格納できるようにならないわけです。
変数宣言
int a;
により作製された変数aは
'1'
'n'
などの文字データを格納することができませんでしたが
変数宣言
char a;
により作製された変数aは
'1'
'n'
などの文字データを格納することができましたね。
それと同じことですね。
char型の配列宣言
char hairetu[4];
を観察すると
生成される配列変数の数(要素数)は4となっていますね。
このとき
int hairetu[4];
を行って
配列変数を生成したときと同様に
見た目は全く同じ
配列変数
hairetu[0]
hairetu[1]
hairetu[2]
hairetu[3]
が生成されます
int a;
により作製された変数aも
char a;
により作製された変数aも
同じ変数名aとなるのと一緒です。
そして
char型の配列宣言により作製された
このときの
配列変数
hairetu[0]
hairetu[1]
hairetu[2]
hairetu[3]
は
char型の配列変数となっており
int型の配列変数が
-2147483648から214783647の整数値を
格納できるのと違い
-128から127までの数値や半角英数字1文字を
格納することができます
今まで 例えば
文字bを変数aに格納するには
変数宣言char a; のあと 文字bをシングルクォーテーション' 'で
囲って
char a='b';
と初期化していました。
同様に
配列変数
hairetu[0]
hairetu[1]
hairetu[2]
hairetu[3]
に文字データを格納するときも
今のプログラムに記述されているように
hairetu[0]='n';
hairetu[1]='e';
hairetu[2]='k';
hairetu[3]='o';
と 取り込みたい文字n,e,k,oをシングルクォーテーション' 'で
囲みます。
ではでは\(^o^)/ちょっと遊んで
配列の要素数(生成される配列変数の数)を
かかなくても
プログラムを実行できるでしょうか?
試してみましょうか?
char hairetu[4];
を
char hairetu[];
と記述してプログラムを実行してみましょう。」
そのプログラムはこちらです
👇
#include <stdio.h>
int main(void)
{
char hairetu[];
hairetu[0]='n';
hairetu[1]='e';
hairetu[2]='k';
hairetu[3]='o';
printf("%c\n",hairetu[0]);
printf("%c\n",hairetu[1]);
printf("%c\n",hairetu[2]);
printf("%c\n",hairetu[3]);
return 0;
}
プログラムの実行結果
EAZY IDECの場合
ファイル「C:/Users/solarplexuss/AppData/Local/EasyIDEC/project/www/main.c」の
「5行目」で記述エラーを発見しました。
unknown type size
Visual Studioの場合
ビルド結果
エラー (アクティブ) E0070 不完全な型は使用できません
エラー C2133 'hairetu': サイズが不明です。
ははあ😊
プログラムの実行結果
unnown type size 配列の要素数が書かれていない と
エラー文がでてきました。
このプログラムの実行結果は
int型の配列宣言
int hairetu[4];
で
要素数をint hairetu[4];
のように記述しないで
int hairetu[];
と記述した
次のプログラムの実行結果
#include <stdio.h>
int main(void)
{
int hairetu[];
hairetu[0]=1;
hairetu[1]=2;
hairetu[2]=3;
hairetu[3]=4;
printf("%c\n",hairetu[0]);
printf("%c\n",hairetu[1]);
printf("%c\n",hairetu[2]);
printf("%c\n",hairetu[3]);
return 0;
}
プログラムの実行結果
EAZY IDECの場合
ファイル「C:/Users/solarplexuss/AppData/Local/EasyIDEC/project/www/main.c」の
「5行目」で記述エラーを発見しました。
unknown type size
Visual Studioの場合
プログラムの実行結果
エラー (アクティブ) E0070 不完全な型は使用できません
エラー C2133 'hairetu': サイズが不明です。
と同じですね。
このように
hairetu[0]='n';
hairetu[1]='e';
hairetu[2]='k';
hairetu[3]='o';
🌳配列変数に1文字ずつ文字データを格納して配列を初期化する場合も🌳
数値データを配列に格納する場合と同様に
配列宣言
char hairetu[4];
と要素数4が[ ]内に記入されてないと
エラーがでてきます。
では もっと簡単に
char型の配列宣言の初期化をしたいときは
どのように記述したらよいでしょうか?
int型の配列宣言の初期化をした場合と同様に
簡単に
char型の配列を初期化する記述方法があります。
以下のプログラムをみていきましょう。
#include <stdio.h>
int main(void)
{
char hairetu[4]={'n','e','k','o'};
printf("%c\n",hairetu[0]);
printf("%c\n",hairetu[1]);
printf("%c\n",hairetu[2]);
printf("%c\n",hairetu[3]);
return 0;
}
プログラムの実行結果
n
e
k
o
あるいは
char hairetu[4]={'n','e','k','o'};
を
char hairetu[]={'n','e','k','o'};
と記述した
#include <stdio.h>
int main(void)
{
char hairetu[]={'n','e','k','o'};
printf("%c\n",hairetu[0]);
printf("%c\n",hairetu[1]);
printf("%c\n",hairetu[2]);
printf("%c\n",hairetu[3]);
return 0;
}
プログラムの実行結果
n
e
k
o
となります。
配列宣言、初期化が
char hairetu[]={'n','e','k','o'};
とまとめて記述されていて
とても簡単になっています。
char hairetu[]={'n','e','k','o'};
と要素数を記述しないで配列宣言を
行った場合は
{'n','e','k','o'}内の文字
n
e
k
o
の数
4
にあわせて
自動的に
配列変数
hairetu[0]
hairetu[1]
hairetu[2]
hairetu[3]
が
4つ
生成され
hairetu[0]='n';
hairetu[1]='e';
hairetu[2]='k';
hairetu[3]='o';
と
配列変数に
文字データが格納されます。」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます