프로그래밍

char*** 질문

ddd.jpg

 

배운걸로 함수 만들 때마다 너무 고생인거 같음ㅜㅜ 이거 왜 이런건가요?

 

#include<stdio.h>
#include<string.h>

#define str_len 100

void change(char*** str1, char *str2);

int main()
{
    char str1[2][2][str_len] = { {"aaaa","bbbb"},{"cccc","dddd"} };
    char str2[100] = "134";

    change(str1, str2);

    printf("%s ", str1[0][0]);

    return 0;
}

void change(char*** str1, char* str2)
{
    printf("%s", str1[0][0][str_len]);
    /*
    for (int i = 0; i < strlen(str2); i++)
    {
        str1[0][0][i] = str2[i];
    }
    */
}

 

28개의 댓글

2020.04.05

printf("%s", str1[0][0][str_len]); <- 이부분이 문제

출력하려고 하는건 문자열이잖아 근데 str1[0][0][str_len]은 char지

printf("%s", str1[0][0]); 아마도 이걸 원했던것 같은데

 

문자열은 char *, 문자는 char타입이라는거 잘 생각하고 해봐

0
2020.04.05
@신라면순한맛

아 저거 그냥 테스트 용으로 값보는거 함수 /*~*/가 진짜고 여기 안되서 테스트해서 값 보는 거임

0
2020.04.05
@신라면순한맛

님이 말한데로 하면

 

예외가 발생했다고 위랑 동일한 경고 떠요

0
2020.04.05
@신라면순한맛

#include

#include

 

#define str_len 100

 

void change(char str1[2][2][str_len], char str2[]);

 

int main()

{

char str1[2][2][str_len] = { {"aaaa","bbbb"},{"cccc","dddd"} };

char str2[100] = "14";

 

change(str1, str2);

 

for (int i = 0; i < 2; i++)

{

for (int s = 0; s < 2; s++)

printf("%s ", str1[i][s]);

printf("\n");

}

 

return 0;

}

 

void change(char str1[2][2][str_len], char str2[])

{

for (int i = 0; i < strlen(str2); i++)

{

for (int s = 0; s < 2; s++)

for (int p = 0; p < 2; p++)

str1[s][p][i] = str2[i];

}

}

 

이렇게 쓰면 되는데 참;;;; 배운거 응용하고 싶은데 너무 어려워요 ㅠㅠ

0
2020.04.06

요즘 자바랑 파이썬만 해서 잘 모르겠지만

 

C언어는 문자열타입이라는게 없어서 ""는 char*라는 별도의 타입으로 인식할거임...

 

그래서 문자열을 배열로 선언하려면 char* arr[] 같은 방식으로 해야함...

 

자세한건 배열 포인터랑 포인터 배열이란 개념이랑 http://www.hanbit.co.kr/channel/category/category_view.html?cms_code=CMS9919998334 여기서 말하는거 정독해보는게 좋을듯

0
2020.04.06

포인터만 달랑 던져주고 인덱스 계산을 시키면 안돼지

0

*가 3개 이상이면 다른방법이 있나 찾아보자ㄷㄷ

0
2020.04.06

배운거 맞음? 1달전인가 했던 질문이랑 다를게없는데 ?

0
2020.04.06
@JaGoon

개인 공부임... 그래서 부족한 부분에서 막힘

0
2020.04.06
@클로로프렌

개인 공부하는 거면 구글링 좀 하고 하면 안 됨?

0
2020.04.06
@JaGoon

찾아봤는데 안되서 물어본거임 이거 3시간 넘께 함;;; 제 한계인걸 어떻게 해요;;;

0
2020.04.06
@클로로프렌

당장 검색해도 금방 나오는데?

그냥 님이 노력 안 한 거임

0
2020.04.06
@JaGoon

링크좀요...

0
2020.04.06
@JaGoon

그 int (*arr)[] 이거임?

0
2020.04.06
@클로로프렌

님 코드에서 가장 큰 문제점이 뭔지 모르시니.... ㅋㅋ

0
2020.04.06
@JaGoon

힌트라도 주셈 ㅜㅠ 왜 이리 아리달송하게 하시는거... 힌트만 주면 찾아 볼께요...

 

몰라서 질문올리는건데

 

이건 책에서 못봄;;;

0
2020.04.06
@클로로프렌

아니 님이 책에서 못 보는 거임

0
2020.04.06
@JaGoon

하... 아 네

0
2020.04.06
@클로로프렌

c계열언어에서 *, []는 레퍼런스, &는 디레퍼런스라고 이해해

 

 

 

3단포인터로 선언해놓고 printf %s 포함해서 4단계까지 내려가려고하니까 오류난거임

 

 

 

니가 원하는건 아마 str1[0][0]이었을건데, 윗사람말대로 포인터가 3번까지는 나오게 만들지 말고 고민해보셈

 

 

0
2020.04.06
@JaGoon

니가 모르는게 아니고?ㅋㅋ

 

답변하기싫으면 걍 가던가 왜 놀리기만하고 답도 안줌?

1
2020.04.06
@미제승냥이

아침부터 우울했는데 고마워여 ㅠㅠ...

 

근데 찾아보니깐 이 사람 저에게 답변 준 적이 없었음 ㅠㅠ

0
2020.04.06
@미제승냥이

따봉 하나 드립니다. 저런 식의 댓글은 안봤으면 좋겠음

0
2020.04.07
@JaGoon

0
2020.04.06
@JaGoon

너가 잘하는 친구인건 알겠는데 사람을 너무 놀린다

0
2020.04.06

추가로.. 문법 자체에 집착하기보다는 문제를 일반화하고 분석, 해결하는능력이 훨씬 중요함

 

문법은 진짜 별거 아니야

 

그러니까 잘 모르겠으면 일단 그런가보다하고 넘겨

0
2020.04.06
@미제승냥이

계속 찾아봤는데요 흠... 이거 맨 뒷장에 나오는 듯

 

제가 포인터 이해가 적어서 포인터 다시 듣고 있긴한데 책 목록 보고 내용 대충 읽어 보니깐

 

맨 뒤에 가면 있을 것 같음...

 

사실 저거 1페이지만 설명하고 나중에 어디 파트에서 추가로 설명한다고 했는데 흠...

 

일단 복습 보단 진도 부터 빼야 할 듯 ㄷㄷ

 

 

분석하는 능력은 어떻게 키유면 좋을까요? 실력 왕창 늘리고 싶은데(응용 하고 싶음) 아직 배우고만 있는게 고민이에요 ㅠㅠ...

0
2020.04.06
@클로로프렌

글쎄.. 내가 교육하는 입장은 아니라서 어떤방법이 제일 좋을지 함부로 조언하기엔 조심스러움

 

내가 어떻게 시작했냐면 첫 목표가 게임 만들기였고, 그 당시에 api에 대한 지식이 없으니 일단 콘솔로 해보자는게 목표였음

 

그 목표에 맞는 지식을 계속 찾아보면서 익혔고

 

근데 이게 맞는방법인진 모르겠다

0
2020.04.06
@미제승냥이

일단 책 진도 다 빼고 부족한 것은 나중에 천천히 채워야 할 거 같아요

 

ㄱㅅㄱㅅ

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
180586 [컴퓨터] 독거미 도착함 쿠쿠N취킨 0 4 분 전 8
180585 [잡담] 님들도 데스크테리어 해보쉴? 9 냐하하하하 0 1 시간 전 110
180584 [잡담] 논 rgb 구성으로 맞췄더니 뭔가 심심해서 1 전기모기채는신이야 0 2 시간 전 40
180583 [컴퓨터] 이거 사운드카드 죽은거냐? 3 와신상담 0 4 시간 전 103
180582 [컴퓨터] m.2케이스에 넣어서 sd카드 대신에 사용해도 괜찮아?? 6 코싸멘뚜 0 4 시간 전 132
180581 [잡담] 플스5 아무거나 사면됨?? 6 년째재수강 0 4 시간 전 111
180580 [모바일] 24 울트라 5G 512기가는 재고가 아예없네 3 마법부오러사무국장 0 5 시간 전 156
180579 [컴퓨터] 아니 바탕화면 창에 ㅈ 같은 이거 도대체 뭐라고 해요? 9 사슴만지게해줘 0 6 시간 전 199
180578 [모바일] 갤럭시 처음 써보는데 문자알림 내용표시 어떻게 해??? 17 bulusuky 1 6 시간 전 86
180577 [프로그래밍] 엥 구글 플러터 유기각 재는거임?? 4 최수연 0 6 시간 전 131
180576 [모바일] 모바일 크롬 탭창 표정 바뀜 ㅎㄷㄷ 1 살에눈나와어른의... 1 8 시간 전 146
180575 [모바일] 폰 충전기 발열이 넘 심한데 바꿔야 하나 2 우히히힣 0 10 시간 전 118
180574 [컴퓨터] i9 13900k 쓰고있는데 질문! 3 래더넉 0 13 시간 전 153
180573 [컴퓨터] 키보드 -> 방향키가 눌릴때 삐걱거림 4 뮤잉운동케겔운동... 0 15 시간 전 68
180572 [모바일] 기기변경할때 유심을 같은거쓰면 정보 그대로 보존됨? 2 마법부오러사무국장 0 16 시간 전 94
180571 [잡담] 결국 레이니 75 구매함 5 이제는끝내자 0 17 시간 전 212
180570 [컴퓨터] 이륙 허가를 요청한다! 15 와플맛 0 17 시간 전 154
180569 [컴퓨터] 찐따 컴하하 컴퓨터 구매 완료 7 69746974 0 18 시간 전 160
180568 [모바일] a34주문했는데 품절이네 ㅅㅂ 울그락푸르락 0 20 시간 전 132
180567 [컴퓨터] 보통 모니터 스펙이 높을수록 발열이 심해짐? 7 오늘하루도빚갚으리오 0 20 시간 전 158