본문 바로가기

반응형
SMALL

C

C에서 문자열 반환하는 함수 만들기 프로그램을 짜다보면 문자열을 반환하는 함수를 만들어야 할 때가 있습니다. 사실 파이썬에선 문자열 반환이 간단한 편인데, C에서는 어떨까요? 어떤 형식으로 반환을 해야 문자열 반환이 가능할까요? const char* string() { return "Hello World!"; } int main(void) { printf("%s", string()); } 위와 같이 const char* 형식으로 반환을 하면 됩니다. 왜 그럴까요? 사실 c에서 문자열이라는 것은 char 데이터로 이루어진 배열을 뜻하게 됩니다. 그렇다면 그 문자열을 가리키는 주소값은 어떤 값을 가리키고 있을까요? c에서 배열을 사용하는 것과 똑같은데, 바로 문자열 제일 처음을 가리키게 됩니다. 그렇게 되므로써 %s를 만나고 '\0' 값을 만.. 더보기
3816. [Professional] 아나그램 - D4 https://swexpertacademy.com/main/learn/course/lectureProblemViewer.do?courseId=AVuPDj5qAAfw5UW6&subjectId=AWWxo6c6AVkDFAW4&lectureSeq=13&contestProbId=AWH0RjCqB14DFAVB&kataId=#none SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 이제 슬슬 SW 역량테스트 PRO를 따기 위한 준비를 하고 있습니다. 본 문제는 SW 문제해결 심화 강의에서 처음으로 만날 수 있는 문제입니다. 아나그램이란 문자열의 문자들을 모두 사용하여 재배열한 것을 의미합니다. ("abc" => "abc",.. 더보기
scanf의 맹점 (2) / 입출력 속도 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AW45RuSae2gDFAQ7&categoryId=AW45RuSae2gDFAQ7&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제를 풀다 알게된 점을 소개하려 합니다. 보통 C로 문제를 풀 땐 scanf로 입력을 받는 것이 보통입니다. (제가 그렇습니다) 근데 이 문제는 scanf로 풀면 안되더라고요?? 21개의 TC 중에 0개부터 바로 시간초과 빡 ! 이것 저것 수정해보다가 입력을 어떻게 받는지에 따라서 속도 차이가 있다고 해서 그 부분에.. 더보기
scanf의 맹점 / 입력 버퍼 C언어로 문제를 풀다가 아래와 같은 입력 값을 받았습니다. 1 3 A 10 B 7 C 5 그래서 저는 A와 10을 따로 변수에 담기 위해서 아래와 같은 코드를 이용했습니다. #include int main(void) { int num; char word; int T; int N; scanf("%d", &T); for (int t = 1; t 더보기
"const char *" 형식의 값을 사용하여 "char *" 형식의 엔터티를 초기화할 수 없습니다. - 에러 수정 C 언어 공부 중 만난 에러입니다. 기본적으로 C 언어에선 포인터 개념을 사용합니다. 문자열에서도 이와 같은 개념을 똑같이 적용할 수 있는데, 분명 책에선 잘 된다고 되어있는데, 작동을 했을 때 에러가 발생해서 그 해결법을 적어보려 합니다. 문제의 코드입니다. #include int main(void) { char* str = "안녕"; printf("%s", str); } 간단하죠? 되게 간단한데 str 포인터가 "안녕"이라는 상수를 가리킬 수가 없습니다. str과 "안녕"의 형식이 달라서 발생하는 오류입니다. 해결방법은 2가지가 있습니다. 1. str을 const로 바꾼다. #include int main(void) { const char* str = "안녕"; printf("%s", str); } .. 더보기

반응형
LIST