🌞🌞耇数の文字列デヌタを぀の配列宣蚀を䜿い同時にメモリに栌玍しおみたす その

゜ヌラヌ「今回は 


぀の配列宣蚀を䜿っお耇数の文字列デヌタをメモリに栌玍


しおみたいずおもいたす。



぀の配列宣蚀


char str[]="apple";

char ars[]="ringo";

char arr[]="cashewnuts";


や


぀のポむンタ倉数宣蚀


char* str="apple";

char* ars="ringo";

char* arr="cashewnuts";


を


぀かうこずによっお コンピュヌタのメモリに取り蟌んできた栌玍しおきた


 "apple"、"ringo"、"cashewnuts"の文字列デヌタを



        🌞 䞀぀の配列宣蚀 🌞


     🌞char hairetu[3][11]={"apple","ringo","cashewnuts"};🌞


を行うこずにより


たずめおメモリにずりこむこずができたす



すごいな アレサ



char hairetu[3][11]={"apple","ringo","cashewnuts"};


このような配列の蚘述を行うこずにより


"apple"、"ringo"、"cashewnuts"の文字列デヌタを


床にメモリに栌玍するこずができるんだよ。


今たでのように


"apple"、"ringo"、"cashewnuts"のような


異なる぀の文字列デヌタをコンピュヌタのメモリにずりこむずき


配列宣蚀もしくはポむンタ倉数宣蚀を぀おこなわなくおもいいんだ」



アレサ「぀の配列宣蚀



char str[]="apple";

char ars[]="ringo";

char arr[]="cashewnuts";


を実行しお


文字列デヌタ


"apple"

"ringo"

"cashewnuts"


を 


コンピュヌタのメモリに取り蟌んだ次のプログラム


👇


#include <stdio.h>


int main(void){


char str[]="apple";

char ars[]="ringo";

char arr[]="cashewnuts";


printf("%s\n",str);

printf("%s\n",ars);

printf("%s\n",arr);


return 0;

}


コンパむル結果


apple

ringo

cashewnuts


や


぀のポむンタ倉数宣蚀


char* str="apple";

char* ars="ringo";

char* ars="cashewnuts";


を行い


文字列デヌタ

"apple"

"ringo"

"cashewnuts"


を


コンピュヌタのメモリに取り蟌んだ次のプログラム


👇

include <stdio.h>

int main(void){


char* str="apple";

char* ars="ringo";

char* arr="cashewnuts";


printf("%s\n",str);

printf("%s\n",ars);

printf("%s\n",arr);


return 0;


}


コンパむル結果


apple

ringo

cashewnuts


👆

これらのプログラムは



       ぀の配列宣蚀



  char hairetu[3][11]={"apple","ringo","cashewnuts"};



を䜿うこずによっお


簡略化されお


次のようにかきかえられたす。


#include <stdio.h>


int main(void){


char hairetu[3][11]={"apple","ringo","cashewnuts"};



printf("%s\n",hairetu[0]);

printf("%s\n",hairetu[1]);

printf("%s\n",hairetu[2]);


return 0;


}



コンパむル結果


apple

ringo

cashewnuts


゜ヌラヌ「わおっ だいぶ すっきりしたね。


いったい


char hairetu[3][11]={"apple","ringo","cashewnuts"};


が実行されるず


䜕がおこなわれおいるのか


ずいうこずだね。


たず


char hairetu[3][11]の郚分からかな


char hairetu[3][11]は次元配列ずなっおいお


char hairetu[3][11];


が実行されるず


配列倉数

hairetu[0][0]

hairetu[0][1]

hairetu[0][2]

hairetu[0][3]

hairetu[0][4]

hairetu[0][5]

hairetu[0][6]

hairetu[0][7]

hairetu[0][8]

hairetu[0][9]

hairetu[0][10]

hairetu[1][0]

hairetu[1][1]

hairetu[1][2]

hairetu[1][3]

hairetu[1][4]

hairetu[1][5]

hairetu[1][6]

hairetu[1][7]

hairetu[1][8]

hairetu[1][9]

hairetu[1][10]

hairetu[2][0]

hairetu[2][1]

hairetu[2][2]

hairetu[2][3]

hairetu[2][4]

hairetu[2][5]

hairetu[2][6]

hairetu[2][7]

hairetu[2][8]

hairetu[2][9]

hairetu[2][10]

が生成されたす


そしお


char hairetu[3][11]={"apple","ringo","cashewnuts"};


が実行されるず


配列倉数

hairetu[0][0]

hairetu[0][1]

hairetu[0][2]

hairetu[0][3]

hairetu[0][4]

hairetu[0][5]

hairetu[0][6]

hairetu[0][7]

hairetu[0][8]

hairetu[0][9]

hairetu[0][10]

hairetu[1][0]

hairetu[1][1]

hairetu[1][2]

hairetu[1][3]

hairetu[1][4]

hairetu[1][5]

hairetu[1][6]

hairetu[1][7]

hairetu[1][8]

hairetu[1][9]

hairetu[1][10]

hairetu[2][0]

hairetu[2][1]

hairetu[2][2]

hairetu[2][3]

hairetu[2][4]

hairetu[2][5]

hairetu[2][6]

hairetu[2][7]

hairetu[2][8]

hairetu[2][9]

hairetu[2][10]


に


文字列デヌタ

"apple"

"ringo"

"cashewnuts"


が


hairetu[0][0]='a';

hairetu[0][1]='p';

hairetu[0][2]='p';

hairetu[0][3]='l';

hairetu[0][4]='e';

hairetu[0][5]='\0';


hairetu[0][6]

hairetu[0][7]

hairetu[0][8]

hairetu[0][9]

hairetu[0][10]

には文字列デヌタは栌玍されたせん。その堎合ナル文字\0が栌玍されるこずになりたす


hairetu[1][0]='r';

hairetu[1][1]='i';

hairetu[1][2]='n';

hairetu[1][3]='g';

hairetu[1][4]='o';

hairetu[1][5]='\0';


hairetu[1][6]

hairetu[1][7]

hairetu[1][8]

hairetu[1][9]

hairetu[1][10]

には文字列デヌタは栌玍されたせん。その堎合ナル文字\0が栌玍されるこずになりたす


hairetu[2][0]='c';

hairetu[2][1]='a';

hairetu[2][2]='s';

hairetu[2][3]='h';

hairetu[2][4]='e';

hairetu[2][5]='w';

hairetu[2][6]='n';

hairetu[2][7]='u';

hairetu[2][8]='t';

hairetu[2][9]='s';

hairetu[2][10]='\0';


ず文字列デヌタが栌玍されたす


぀たり


💖぀の文字列デヌタ

"apple" 👈1

"ringo" 👈2

"cashewnuts" 👈3


を栌玍するために


char hairetu[3][11]の


[3]は芁玠数が💖


そしお


文字列デヌタ


cashewnuts10文字

を

\0(ナル文字

ずあわせお

11文字栌玍するために


char hairetu[3][11]の


[11]は芁玠数が11ずなっおいるんだよ。」


そのこずを瀺すプログラムはこちらです

👇

#include <stdio.h>


int main(void) {


char hairetu[3][11] = { "apple","ringo","cashewnuts" };



printf("%s\n", hairetu[0]);

printf("%s\n", hairetu[1]);

printf("%s\n", hairetu[2]);


printf("%c\n", hairetu[0][0]);

printf("%c\n", hairetu[0][1]);

printf("%c\n", hairetu[0][2]);

printf("%c\n", hairetu[0][3]);

printf("%c\n", hairetu[0][4]);

printf("%c\n", hairetu[0][5]);

printf("%c\n", hairetu[0][6]);

printf("%c\n", hairetu[0][7]);

printf("%c\n", hairetu[0][8]);

printf("%c\n", hairetu[0][9]);

printf("%c\n", hairetu[0][10]);


printf("%c\n", hairetu[1][0]);

printf("%c\n", hairetu[1][1]);

printf("%c\n", hairetu[1][2]);

printf("%c\n", hairetu[1][3]);

printf("%c\n", hairetu[1][4]);

printf("%c\n", hairetu[1][5]);

printf("%c\n", hairetu[1][6]);

printf("%c\n", hairetu[1][7]);

printf("%c\n", hairetu[1][8]);

printf("%c\n", hairetu[1][9]);

printf("%c\n", hairetu[1][10]);



printf("%c\n", hairetu[2][0]);

printf("%c\n", hairetu[2][1]);

printf("%c\n", hairetu[2][2]);

printf("%c\n", hairetu[2][3]);

printf("%c\n", hairetu[2][4]);

printf("%c\n", hairetu[2][5]);

printf("%c\n", hairetu[2][6]);

printf("%c\n", hairetu[2][7]);

printf("%c\n", hairetu[2][8]);

printf("%c\n", hairetu[2][9]);

printf("%c\n", hairetu[2][10]);


return 0;

}


ビルド実行結果


apple

ringo

cashnuts

a

p

p

l

e

空癜

空癜

空癜

空癜

空癜

r

i

n

g

o

空癜

空癜

空癜

空癜

空癜

c

a

s

h

e

w

n

u

t

s

空癜


ちょっずおたけ🐪


配列倉数


hairetu[2][10]にはナル文字デヌタ'\0'が栌玍されおいたす


printf("%c\n", hairetu[2][10]);


の実行結果は

空癜ですが


%c出力倉換指定子を%d出力倉換指定子に切り替えた


printf("%d\n", hairetu[2][10]);


の実行結果は


0になりたす


぀たり

ナル文字デヌタ'\0'空癜のアスキヌコヌドは0になっおいたす



アスキヌコヌドを%c出力倉換指定子を甚いおprintf出力衚瀺するず

文字デヌタが衚瀺されるのでしたね🐪


このプログラムの堎合


アスキヌコヌド0を%c出力倉換指定子を甚いおprintf出力衚瀺しおいるので

ナル文字デヌタ'\0'すなわち、空癜が衚瀺されおいたす🐪



アスキヌコヌド0を%d出力倉換指定子を甚いおprintf出力衚瀺するず


が衚瀺されるこずになりたす🐪




゜ヌラヌ「さお ここで質問です」



アレサ「このずき


printf("%s\n",hairetu[0]);

printf("%s\n",hairetu[1]);

printf("%s\n",hairetu[2]);



なにか衚蚘法が おかしいず思われたせんか


%s出力倉換指定子が甚いられおいる


printf("%s\n",hairetu[0]);

printf("%s\n",hairetu[1]);

printf("%s\n",hairetu[2]);


の


hairetu[0]

hairetu[1]

hairetu[2]


に圓たる郚分には


ポむンタ倉数が代入されなければなりたせん。




hairetu[0]

hairetu[1]

hairetu[2]


は


配列倉数で


ポむンタ倉数に芋えないような気がしたすが


ポむンタ倉数ずなっおいたす。」



みなさん



🐥 🐧 🐊  🐈  🐀  . . .




今日はどんなお話がでおくるのかな😊




🐥 🐧 🐊  🐈  🐀  . . .




ぞろぞろ・・・




それでは 


゜ヌラヌさん


続きをおねがいしたす。」



゜ヌラヌ「ふ぀う



printf("%s\n",hairetu);の




            🐥hairetu🐥は




配列hairetuやポむンタ倉数hairetuを぀かっお



文字列デヌタがメモリに栌玍されたずき



その文字列デヌタが栌玍されおいるメモリ領域の先頭のメモリのアドレスを



栌玍しおいるポむンタ倉数ですね。



同時に



文字列デヌタを栌玍しおいるメモリを代衚するアドレスでもありたした。



☆  ☆  ☆  ☆  ☆  ☆


👆ここの郚分を


ちょっずだけ補足したす


以前の゚ピ゜ヌドで孊んだこずのおさらいになりたすね


配列hairetuやポむンタ倉数hairetuを぀かっお


"apple"


のような


文字列デヌタがメモリに栌玍されたずき



配列倉数

hairetu[0]

hairetu[1]

hairetu[2]

hairetu[3]

hairetu[4]

hairetu[5]


には

文字列デヌタ"apple"の


'a'

'p'

'p'

'l'

'e'

'\0'

が栌玍されるこずになりたすが


配列倉数

hairetu[0]

には

文字列デヌタ"apple"の先頭の文字デヌタ'a'が栌玍されおいたす


そしお

hairetuは

配列倉数

hairetu[0]

のアドレスずなっおいたす



               solarplexussより

☆  ☆  ☆  ☆  ☆  ☆


そしお


文字列デヌタを


printf出力衚瀺するずきには


%s出力倉換指定子をもちいお


printf("%s\n",hairetu);


のように


文字列デヌタが栌玍されおいるメモリ領域の先頭のメモリのアドレスを栌玍しおいる



       ポむンタ倉数🐥hairetu🐥が 


甚いられたす。



ここで


char hairetu[3][11]={"apple","ringo","cashewnuts"};


が行われお


文字列デヌタ

"apple"

"ringo"

"cashewnuts"

が


配列倉数

hairetu[0][0]

hairetu[0][1]

hairetu[0][2]

hairetu[0][3]

hairetu[0][4]

hairetu[0][5]

hairetu[0][6]

hairetu[0][7]

hairetu[0][8]

hairetu[0][9]

hairetu[0][10]

hairetu[1][0]

hairetu[1][1]

hairetu[1][2]

hairetu[1][3]

hairetu[1][4]

hairetu[1][5]

hairetu[1][6]

hairetu[1][7]

hairetu[1][8]

hairetu[1][9]

hairetu[1][10]

hairetu[2][0]

hairetu[2][1]

hairetu[2][2]

hairetu[2][3]

hairetu[2][4]

hairetu[2][5]

hairetu[2][6]

hairetu[2][7]

hairetu[2][8]

hairetu[2][9]

hairetu[2][10]


に


hairetu[0][0]='a';

hairetu[0][1]='p';

hairetu[0][2]='p';

hairetu[0][3]='l';

hairetu[0][4]='e';

hairetu[0][5]='\0';


ず栌玍され


hairetu[0][6]

hairetu[0][7]

hairetu[0][8]

hairetu[0][9]

hairetu[0][10]

には文字列デヌタは栌玍されたせん。その堎合ナル文字\0が栌玍されるこずになりたす


hairetu[1][0]

hairetu[1][1]

hairetu[1][2]

hairetu[1][3]

hairetu[1][4]

hairetu[1][5]

には

hairetu[1][0]='r';

hairetu[1][1]='i';

hairetu[1][2]='n';

hairetu[1][3]='g';

hairetu[1][4]='o';

hairetu[1][5]='\0';

ず文字列デヌタが栌玍され


hairetu[1][6]

hairetu[1][7]

hairetu[1][8]

hairetu[1][9]

hairetu[1][10]

には文字列デヌタは栌玍されたせん。その堎合ナル文字\0が栌玍されるこずになりたす



配列倉数

hairetu[2][1]

hairetu[2][2]

hairetu[2][3]

hairetu[2][4]

hairetu[2][5]

hairetu[2][6]

hairetu[2][7]

hairetu[2][8]

hairetu[2][9]

hairetu[2][10]

には



hairetu[2][0]='c';

hairetu[2][1]='a';

hairetu[2][2]='s';

hairetu[2][3]='h';

hairetu[2][4]='e';

hairetu[2][5]='w';

hairetu[2][6]='n';

hairetu[2][7]='u';

hairetu[2][8]='t';

hairetu[2][9]='s';

hairetu[2][10]='\0';


ず文字列デヌタが栌玍されるこずになりたす


この堎合


どのように


文字列デヌタ

"apple"

"ringo"

"cashewnuts"

を

コマンドプロンプト画面にprintf出力衚瀺したらよいかずいうこずですね。


文字列デヌタ

"apple"

"ringo"

"cashewnuts"


を栌玍しおいる先頭の配列倉数は


それぞれ

hairetu[0][0]

hairetu[1][0]

hairetu[2][0]

ずなっおいたす


ですので

文字列デヌタ


"apple"

"ringo"

"cashewnuts"


を衚瀺するのに


hairetu[0][0]

hairetu[1][0]

hairetu[2][0]


のアドレス


&hairetu[0][0]

&hairetu[1][0]

&hairetu[2][0]


を甚いお


次のようなプログラムを構成すれば


もしかしたら


文字列デヌタ

"apple"

"ringo"

"cashewnuts"


がprintf出力衚瀺できるようなきがしたす。


include <stdio.h>


int main(void) {


char hairetu[3][11] = { "apple","ringo","cashewnuts" };



printf("%s\n", hairetu[0][0]);

printf("%s\n", hairetu[1][0]);

printf("%s\n", hairetu[2][0]);


return 0;


}



コンパむル結果


䜕も衚瀺されたせん



゜ヌラヌ「


なんか おかしいな・・・


たちがえたした。



printf("%s\n", hairetu[0][0]);

printf("%s\n", hairetu[1][0]);

printf("%s\n", hairetu[2][0]);


ではなく



printf("%s\n", &hairetu[0][0]);

printf("%s\n",&hairetu[1][0]);

printf("%s\n",&hairetu[2][0]);


でした。


&を付け忘れおいたした



プログラムを曞き盎しおビルド実行しおみるず


#include <stdio.h>


int main(void) {


char hairetu[3][11] = { "apple","ringo","cashewnuts" };



printf("%s\n",&hairetu[0][0]);

printf("%s\n",&hairetu[1][0]);

printf("%s\n",&hairetu[2][0]);


return 0;


}


ビルド実行結果


apple

ringo

cashewnuts



゜ヌラヌ「このプログラムを実行しお


文字列デヌタ

"apple"

"ringo"

"cashewnuts"

が

コマンドプロンプト画面にprintf出力衚瀺できおいたす。



実は


文字列デヌタ

"apple"

"ringo"

"cashewnuts"


を


コマンドプロンプト画面にprintf出力衚瀺するずきは


printf("%s\n",&hairetu[0][0]);

printf("%s\n",&hairetu[1][0]);

printf("%s\n",&hairetu[2][0]);


でなく


printf("%s\n",hairetu[0]);

printf("%s\n",hairetu[1]);

printf("%s\n",hairetu[2]);


ず蚘述するずいう仕組みになっおいたす。


あたかも配列hairetu[0]に文字列デヌタ"apple"が栌玍されおいお


その配列hairetu[0]のアドレスを栌玍しおいるポむンタ倉数が


hairetu[0]


になっおいるずいう感じです




        💖💖💖この仕組みは💖💖💖


💖💖💖ポむンタ倉数のアドレスを栌玍するポむンタ倉数💖💖💖の゚ピ゜ヌドで詳しく解説されおいたす💖💖💖




ですので


文字列デヌタ

"apple"

"ringo"

"cashewnuts"


をprintf出力衚瀺するずきは



#include <stdio.h>


int main(void) {


char hairetu[3][11] = { "apple","ringo","cashewnuts" };



printf("%s\n", hairetu[0]);

printf("%s\n", hairetu[1]);

printf("%s\n", hairetu[2]);


return 0;


}


のように


プログラムを蚘述したす



このずきの

               




            🐥hairetu[0]🐥は




文字列デヌタ"apple"を栌玍しおいる連続したメモリの先頭のメモリのアドレスを栌玍したポむンタ倉数


         


       


            🐥hairetu[1]🐥は




文字列デヌタ"ringo"を栌玍しおいる連続したメモリの先頭のメモリのアドレスを栌玍したポむンタ倉数


                 


            🐥hairetu[2]🐥は




文字列デヌタ"cashewnuts"を栌玍しおいる連続したメモリの先頭のメモリのアドレスを栌玍したポむンタ倉数


の圹割をはたしおいたす。



぀たり

配列倉数

hairetu[0]

hairetu[1]

hairetu[2]


は


文字列デヌタ


"apple"

"ringo"

”cashewnuts”


を


栌玍しおいる連続したメモリ領域の


先頭のメモリのアドレスを栌玍しおいる


ポむンタ倉数ずなっおいるのですね。


぀いでに

配列倉数

hairetu[0]

hairetu[1]

hairetu[2]


が栌玍しおいるアドレスも


次のプログラムで衚瀺しおみたいず思いたす。



#include <stdio.h>


int main(void){



char hairetu[3][11] = { "apple","ringo","cashewnuts" };



printf("%s\n",hairetu[0]);

printf("%s\n",hairetu[1]);

printf("%s\n",hairetu[2]);


printf("%p\n",hairetu[0]);

printf("%p\n",hairetu[1]);

printf("%p\n",hairetu[2]);


return 0;

}



コンパむル結果


EAZY IDECの堎合


apple

ringo

cashewnuts

0019FF37

0019FF42

0019FF4D


Visual Studioの堎合


apple

ringo

cashewnuts

003FF8C8

003FF8D3

003FF8DE





゜ヌラヌ「


printf("%s\n",hairetu[0]);

printf("%s\n",hairetu[1]);

printf("%s\n",hairetu[2]);


が実行されるこずにより


文字列

apple

ringo

cashewnuts


が

コマンドプロンプト画面に衚瀺されたしたね。


぀たり

hairetu[0]

hairetu[1]

hairetu[2]


は


文字列デヌタ


"apple"

"ringo"

”cashewnuts”


を


栌玍しおいるメモリ領域の先頭のメモリのアドレスを栌玍しおいる


ポむンタ倉数ずなっおいるこずがわかりたすね。



ポむンタ倉数

hairetu[0]

hairetu[1]

hairetu[2]


の栌玍しおいるアドレスは


printf("%p\n",hairetu[0]);

printf("%p\n",hairetu[1]);

printf("%p\n",hairetu[2]);


が行われるこずにより


EAZY IDECの堎合


0019FF37

0019FF42

0019FF4D


Visual Studioの堎合


003FF8C8

003FF8D3

003FF8DE


ず衚瀺されおいたす


぀たり


char hairetu[3][11]={"apple","ringo","cashewnuts"};


が行われお



配列倉数

hairetu[0][0]

hairetu[0][1]

hairetu[0][2]

hairetu[0][3]

hairetu[0][4]

hairetu[0][5]

hairetu[0][6]

hairetu[0][7]

hairetu[0][8]

hairetu[0][9]

hairetu[0][10]

hairetu[1][0]

hairetu[1][1]

hairetu[1][2]

hairetu[1][3]

hairetu[1][4]

hairetu[1][5]

hairetu[1][6]

hairetu[1][7]

hairetu[1][8]

hairetu[1][9]

hairetu[1][10]

hairetu[2][0]

hairetu[2][1]

hairetu[2][2]

hairetu[2][3]

hairetu[2][4]

hairetu[2][5]

hairetu[2][6]

hairetu[2][7]

hairetu[2][8]

hairetu[2][9]

hairetu[2][10]


が䜜補されおいるのですが


Visual Studioの堎合なら


配列倉数

hairetu[0][0]

hairetu[0][1]

hairetu[0][2]

hairetu[0][3]

hairetu[0][4]

hairetu[0][5]

hairetu[0][6]

hairetu[0][7]

hairetu[0][8]

hairetu[0][9]

hairetu[0][10]

hairetu[1][0]

hairetu[1][1]

hairetu[1][2]

hairetu[1][3]

hairetu[1][4]

hairetu[1][5]

hairetu[1][6]

hairetu[1][7]

hairetu[1][8]

hairetu[1][9]

hairetu[1][10]

hairetu[2][0]

hairetu[2][1]

hairetu[2][2]

hairetu[2][3]

hairetu[2][4]

hairetu[2][5]

hairetu[2][6]

hairetu[2][7]

hairetu[2][8]

hairetu[2][9]

hairetu[2][10]

のアドレスは


配列倉数

hairetu[0][0]なら003FF8C8 👈hairetu[0]のアドレスですね

hairetu[0][1]なら003FF8C9

hairetu[0][2]なら003FF8CA

hairetu[0][3]なら003FF8CB

hairetu[0][4]なら003FF8CC

hairetu[0][5]なら003FF8CD

hairetu[0][6]なら003FF8CE

hairetu[0][7]なら003FF8CF

hairetu[0][8]なら003FF8D0

hairetu[0][9]なら003FF8D1

hairetu[0][10]なら003FF8D2

hairetu[1][0]なら003FF8D3 👈hairetu[1]のアドレスですね

hairetu[1][1]なら003FF8D4

hairetu[1][2]なら003FF8D5

hairetu[1][3]なら003FF8D6

hairetu[1][4]なら003FF8D7

hairetu[1][5]なら003FF8D8

hairetu[1][6]なら003FF8D9

hairetu[1][7]なら003FF8DA

hairetu[1][8]なら003FF8DB

hairetu[1][9]なら003FF8DC

hairetu[1][10]なら003FF8DD

hairetu[2][0]なら003FF8DE👈hairetu[2]のアドレスですね

hairetu[2][1]なら003FF8DF

hairetu[2][2]なら003FF8E0

hairetu[2][3]なら003FF8E1

hairetu[2][4]なら003FF8E2

hairetu[2][5]なら003FF8E3

hairetu[2][6]なら003FF8E4

hairetu[2][7]なら003FF8E5

hairetu[2][8]なら003FF8E6

hairetu[2][9]なら003FF8E7

hairetu[2][10]なら003FF8E8


ずなっおいるわけです。


ずころで


char hairetu[11];


によっお䜜補される配列倉数は

hairetu[0]

hairetu[1]

hairetu[2]

hairetu[3]

hairetu[4]

hairetu[5]

hairetu[6]

hairetu[7]

hairetu[8]

hairetu[9]

hairetu[10]

でした。


このずきの


配列hairetuの先頭のメモリのアドレスを栌玍しおいるポむンタ倉数は


hairetuでした。


このポむンタ倉数hairetuを


printf("%s\n", hairetu);


のように甚いるこずで


配列hairetuに栌玍されおいる文字列デヌタの文字列を


コマンドプロンプト画面にprintf出力衚瀺するこずができたした。


次に


char hairetu[3][11]={"apple","ringo","cashewnuts"};


によっお䜜補される配列倉数


hairetu[0][0]

hairetu[0][1]

hairetu[0][2]

hairetu[0][3]

hairetu[0][4]

hairetu[0][5]

hairetu[0][6]

hairetu[0][7]

hairetu[0][8]

hairetu[0][9]

hairetu[0][10]

hairetu[1][0]

hairetu[1][1]

hairetu[1][2]

hairetu[1][3]

hairetu[1][4]

hairetu[1][5]

hairetu[1][6]

hairetu[1][7]

hairetu[1][8]

hairetu[1][9]

hairetu[1][10]

hairetu[2][0]

hairetu[2][1]

hairetu[2][2]

hairetu[2][3]

hairetu[2][4]

hairetu[2][5]

hairetu[2][6]

hairetu[2][7]

hairetu[2][8]

hairetu[2][9]

hairetu[2][10]


をよく芳察しおみるず


その䞭の配列倉数

hairetu[0][0]

hairetu[0][1]

hairetu[0][2]

hairetu[0][3]

hairetu[0][4]

hairetu[0][5]

hairetu[0][6]

hairetu[0][7]

hairetu[0][8]

hairetu[0][9]

hairetu[0][10]


の


先頭の配列倉数hairetu[0][0]のアドレスを栌玍しおいるポむンタ倉数は


hairetu[0]でした。


このポむンタ倉数hairetu[0]を


printf("%s\n", hairetu[0]);


のように甚いるこずで


配列hairetuに栌玍されおいる文字列を


printf出力衚瀺するこずができたしたね。


printf("%s\n", hairetu[0]);


だけをみたなら


配列hairetuのアドレスを栌玍しおいるポむンタ倉数が


hairetuだったように


なんだかたるで


        hairetu[0]ずいう配列が存圚し

すなわち


hairetu[0]ずいう名前の配列hairetu[0]が甚意されおいお



配列hairetu[0]のアドレスを栌玍しおいるポむンタ倉数が


hairetu[0]ずなっおいるようにみえるね。」








  • Twitterで共有
  • Facebookで共有
  • はおなブックマヌクでブックマヌク

䜜者を応揎しよう

ハヌトをクリックで、簡単に応揎の気持ちを䌝えられたす。ログむンが必芁です

応揎したナヌザヌ

応揎するず応揎コメントも曞けたす

新芏登録で充実の読曞を

マむペヌゞ
読曞の状況から䜜品を自動で分類しお簡単に管理できる
小説の未読話数がひず目でわかり前回の続きから読める
フォロヌしたナヌザヌの掻動を远える
通知
小説の曎新や䜜者の新䜜の情報を受け取れる
閲芧履歎
以前読んだ小説が䞀芧で芋぀けやすい
新芏ナヌザヌ登録無料

アカりントをお持ちの方はログむン

カクペムで可胜な読曞䜓隓をくわしく知る