본문 바로가기

Etc./C5

[C] 포인터, 배열, 동적메모리할당 포인터와 배열은 비슷한 역할을 수행해줄 수 있다. 배열 선언을 통해 정해진 배열의 이름은 배열의 시작 주소를 저장하는 포인터 변수 같은 역할을 수행한다. 하지만 보통의 포인터 변수와는 다르게 그 값을 변경할 수 없다는 가장 큰 차이가 있다. 예를 들면 int a[10];을 선언해주면 a는 배열의 시작 주소를 저장하는 포인터 변수가 된다. 그래서 *(a+i)==a[i] 하지만 문제는 동적메모리할당을 공부해보면 이어진다. 동적 메모리 할당(malloc)에서 int * a = (int*)malloc(4*sizeof(int)); int * temp = (int*)malloc(8*sizeof(int)); a=temp; 이렇게 a의 메모리를 새롭게 할당할 수 있다. 하지만 배열을 포인터처럼 이용하면 (예를 들면) .. 2021. 10. 9.
[C] 문자열 공백/띄어쓰기 입력 https://woodforest.tistory.com/91 [C] 띄어쓰기/공백 포함한 문자열 입력받기 scanf("%s", str) ..... 는 적합하지 않다. "%s" 는 whitespace(공백) 전까지의 문자열만 입력받기 때문이다. 1 fgets gets()도 있긴 하지만 지양하는 편이 좋다고 한다. 왜냐면! gets는 입력받는 문자열의 길이를 woodforest.tistory.com 1. fgets 공백을 포함한 문자열 = line을 읽고 싶다면 fgets()를 사용한다고 한다. (gets는 위험하기에 사용을 지양하는 게 좋다고) char* fgets(char* str, int num, FILE* stream); 첫 매개 변수(str)에는 FILE에서 읽은 문자열을 저장할 메모리의 주소 지정.. 2021. 9. 26.
[C] 데이터 처리 https://codeup.kr/problem.php?id=1085 [기초-종합] 소리 파일 저장용량 계산하기(설명) 소리가 컴퓨터에 저장될 때에는 디지털 데이터화 되어 저장된다. 마이크를 통해 1초에 적게는 수십 번, 많게는 수만 번 소리의 강약을 체크해 그 값을 정수값으로 바꾸고, 그 값을 저장해 소리를 codeup.kr 저장용량 계산하기에서 지난번 파이썬 풀때도 그렇고 이번에도 당황했는데 h, b, c, s를 모두 int로 지정해주고 바로 그냥 나눠주고 float으로 넘겨버렸는데 이상하게 정수부분만 살리고 소수점 이하는 모두 버려버리는 사태가 발생했다. 왜 그럴까 몇번을 더 넣어보고 시도해봤는데 이유를 몰랐는데 https://m.blog.naver.com/PostView.naver?isHttpsRe.. 2021. 9. 21.
[C] 삼항연산자 3개의 요소로 이루어지는 3항(ternary) 연산자는 "조건식 ? (참일 때의 값) : (거짓일 때의 값)” 의 형태로 사용하는 연산자이다. 3항 연산자는 자주 사용되지는 않지만, 복잡한 계산식이나 조건 처리, 비교 구조를 매우 간단히 표현할 수 있게 해준다. 잘 사용해보면 나름대로의 재미와 묘미가 있는 연산자이다. 특히, 보다 짧은 코드로 문제를 해결하려고 하는 숏 코딩(coding)에서는 빠질 수 없는 요소이다. "똑같이 해결할 수 있는 프로그램이지만, 때로는 아주 적은 소스코드 양으로 풀어내는 것을 매우 즐기는 숏 코더들이 있다." 숏 코딩은 일종의 재미이기는 하지만, 프로그래밍언어의 밑바닥 기초, 세세한 처리 과정에 대한 이해, 컴파일러의 소스코드 해석과 변환 등에 대한 경험과 지식이 필요하다... 2021. 9. 21.
[C/C++] 포인터 고등 학교 때도 간단히 devc++ 수업 들어보고, 학부 교양으로 들었던 컴퓨터 언어 및 실습에서 다루었던 C를 유튜브 무료 강의로 6시간 과정 올라와 있던 것을 보고 한번 독파해야겠다 생각하다가 다 듣고 기본 C에 대해서 알게되었다. 교양 수업 때 시간표 때문에 전전분반 애들이랑 들었는데 수업을 나쁘지 않게 들었다. 당시 기말에 바쁜 일정이 있어서 포인터부터 수업 내용을 놓쳐서 A를 받았는데 그렇기에 C에 대해서는 마음 한켠 아쉬움이 남아있었다. 이번에 C 문법을 한번 쭉 보았던 강의는 나도코딩님의 6시간 강의였다. https://youtu.be/q6fPjQAzll8 이동 간에도 쉬운 내용은 2배속으로 빠르게 보고 파악하고 후반부 들어 드디어 포인터부터는 따라 적어보면서 컴퓨터로 실습을 해보았다. 포인.. 2021. 9. 19.