char p[3][6]={{'a','b','c','\0'},{'d','e','f','\0'},{'g','h','i','\0'}};
char s[3][6]={"abc","def","ghi"};
両方とも同じですか?異なる場合は、どのように、どのようにメモリに保存されているかを説明してください。
2 つの方法のいずれにも違いはありません。次のコードを試して
結果を確認してください。変数 p と s の結果は同じです。
#include<stdio.h>
void main()
{
int i,j=0;
char p[3][6]={{'a','b','c','\0'},{'d','e','f','\0'},{'g','h','i','\0'}};
char s[3][6]={"abc","def","ghi"};
for(i=0;i<3;i++)
{
printf("%s",p[i]);
printf("\n");
}
for(i=0;i<3;i++)
{
printf("%s",s[i]);
printf("\n");
}
}
結果は次のとおりです。
First 2-d string is : abc def ghi
Second 2-d string is :abc def ghi