두 개의 문자 배열을 가지고 있는데, 나는 하나의 2 차원 배열을 만들고 싶습니다. 하지만 문자 배열 값을 2D 배열에서 초기화하는 방식으로 문제가되는 것 같습니다.어떻게 C에서이 2D 배열을 초기화 할 수 있습니까?
이 유형의 배열을 초기화하는 올바른 방법은 무엇입니까? "trumplar()"함수는 정상적으로 작동하거나 예상대로 작동합니다.
2D 문자 배열 x [22] [22] 함수 "trumpsterFire()"를 제대로 초기화 할 수 없습니다.
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
void trumplar(){
int len = 22;
char a[25]={0x3f,0x6,0x5b,0x4f,0x66,0x6d,0x7d,0x7,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x3d,0x76,0x1e,0x38,0x38,0x6d,0x00};
char L[25]="abcdefghjlpsS";
int i;
for (i = 0; i <=len; i++){
char hit=L[i];
char urd=a[i];
printf("The %d, Value of a is:%c\t Hex val: %c\n",i,hit,urd);
}
}
void trumptsterFire(){
//int xlen = 22;
char x[22][22]={
{0x3f,0},{0x6,1},{0x5b,2},
{0x4f,3},{0x66,4},{0x6d,5},
{0x7d,6},{0x7,7},{0x7f,8},
{0x6f,9},{0x77,a},{0x7c,b},
{0x39,c},{0x5e,d},{0x79,e},
{0x71,f},{0x3d,g},{0x76,h}
,{0x1e,j},{0x38,l},{0x38,p},
{0x6d,s},{0x00,S}
};
}
int main(){
trumplar();
trumptsterFire();
return 0;
}
마지막 '\ 0'요소를 배열에 추가 하시겠습니까? –
배열 크기가 중요하지 않습니다. 'char x [22] [22]'(22 문자의 22 배열)의 배열을 가졌지 만'char x [23] [2]'(2 문자의 23 배열의 배열) ... (누락 된 작은 따옴표 무시) – Dmitri