c언어 2차원배열 구조체변수에서 배열에 저장된 문자하나하나를 문자열로 만들고싶어요!...

익명 사용자의 이미지

예를 들어,
arr1[0][0].Name[0]= a;
arr1[0][0].Name[1]= b;
arr1[0][0].Name[2]= c;
arr1[0][0].Name[3]= d;
이런식으로 문자들이 저장되어있는데 이 부분을 arr2[0][0]= abcd 이렇게 저장하고싶은데
방법이 안떠오르네요 ㅠㅠ.... 무슨 방법없을까요!! 부탁드려요!!

c언어에서 코딩한 내용입니다...! 문자들이 char형으로 저장되어있어요

세벌의 이미지

arr1 자료형은 무엇인가요?
arr2 자료형은 무엇인가요?

raymundo의 이미지

답변을 얻고 싶으면 문제를 최대한 구체적이고 상세하게 주세요.

a, b, c, d 가 변수 이름은 아닐 거고, 아마 'a', 'b', 'c', 'd', 그리고 저장하고 싶은 건 "abcd" 라는 말이겠죠?

Name 이 char 의 배열이라면 어차피 각 문자들이 메모리에 연속적으로 저장되어 있을 테니, 제일 마지막 문자 뒤에 널 캐릭터만 있다면 그 자체를 그냥 문자열로 쓰시면 됩니다.

arr2 는 char 의 3차원 배열이어야 할 테고,

char arr2[ROW][COL][100];   // 100은 저장할 수 있는 문자열의 최대 길이

이 상태에서 arr1[0][0][4] 자리에 '\0' 이 저장되어 있다는 게 보장이 되면 그냥 문자열 복사를 하면 될 거고요.

strcpy( arr2[0][0], arr1[0][0].Name );

그런 보장이 없고 Name 배열의 마지막 인덱스가 3인 상황이라면 한 글자씩 복사한 다음 그 뒤에 널 캐릭터를 넣어주면 될 거고요.

for( i = 0;  i <= Name의 마지막 인덱스; i++ ) {
   arr2[0][0][i] = arr1[0][0].Name[i];
}
arr2[0][0][i] = '\0';

좋은 하루 되세요!