組込みエンジニアに求められる能力

組込みシステムに関する知識や技術を説明します‼︎

c言語のポインタ配列と配列ポインタの違い

こんばんわ、慶さんです。


初めて1人の方が読者になっていただき大変嬉しい限りです。


今回は、ポインタ配列と配列ポインタの概要を説明したいと思います。


まず、配列ポインタとは、配列の要素がポインタ変数で、出来ている配列のことです。

f:id:kei_nari:20160614002108j:plain

ソースコードは、

char a,b,c,d,e;

char arr_p[5]={&a,&b,&c,&d,&e};


*arr_p=getch();

putch(a);


ポインタ配列とは、ポインタ変数が配列要素を指すことです。一般的に関数で文字列をポインタで渡す場合ポインタのポインタを仮引数にとってもらいます。

f:id:kei_nari:20160614002217j:plain

char *str[2]={"123","456"};

func(str);

}

void  func(**str){

printf("%s",*str);

}


プログラムで書くと配列ポインタとポインタ配列は意味が全く違うので、ごっちゃにならないようにしてください。