프로그래밍

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
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
180375 [잡담] 이거 뭐라고 적혀있는거야 3 꺄꺄룽 0 47 분 전 42
180374 [프로그래밍] 프론트엔드 개발자 연봉 1억 넘는 사람 있어? 2 잠적자 0 1 시간 전 88
180373 [모바일] 배터리 효율 떨어지면 휴대폰도 느려지나? 4 상한가 0 3 시간 전 98
180372 [잡담] 개꿀 당근에서 만원짜리 컴 득템 7 플게이어 2 10 시간 전 422
180371 [컴퓨터] 중고로 키크론 k3 pro? 라는 키보드를 구해왔는데 10 3th3 0 11 시간 전 212
180370 [견적] 이거 에센코어 KLEVV DDR4 PC4-25600 CL22 매우 싸게 나왔는... 11 부터시작하는이세... 0 16 시간 전 184
180369 [잡담] 모니터암 설치하는데 미스테리 4 사나이테스트 0 17 시간 전 302
180368 [컴퓨터] 음향 관련 잘아는 형들 질문... 3 Marlin 0 17 시간 전 134
180367 [잡담] 애드가드 안드로이드 kt-dpi 우회 업데이트 됨 어무니 0 18 시간 전 157
180366 [컴퓨터] m2 ssd를 메인보드 기준으로 슬롯 1번에 있는거 2번으로 옮기... 3 오뜨 0 18 시간 전 121
180365 [잡담] 유튜브앱 구간 스킵 방식이 바꼈네?? 4 츄이로 0 18 시간 전 185
180364 [컴퓨터] 이륙 허가좀 17 사촌간부랄빨기 0 19 시간 전 165
180363 [컴퓨터] 완전 컴알못인데 이 레노버 노트북 사도 될까? 13 Fiesta 0 19 시간 전 175
180362 [잡담] 천천히 충전하는 거 폰 배터리에 더 안 좋음? 6 개돼지무한리필 0 20 시간 전 154
180361 [잡담] 메타ai 공개 3 년차html개발자 1 20 시간 전 150
180360 [컴퓨터] p41을 서브 게임저장용은 낭비인가? 8 신우철 0 22 시간 전 165
180359 [정보] 해당 모니터암이 여기 모니터2개에 맞을지 모르겠습니다 2 골든베릴 0 1 일 전 128
180358 [견적] (직구) SK하이닉스 Platinum P41 2TB PCIe4.0 NVMe M.2 2280 ... 7 요기쪄 0 1 일 전 331
180357 [컴퓨터] 이거 괜찮은 가격인가요? 5 죽업 0 1 일 전 196
180356 [잡담] 급해서 특급운송으로 주문했는데... 오브 0 1 일 전 165