1학기때 파이썬 배우고
지금 c언어 배우는데
배열 쓸때 먼저 크기 먼저 정의하고 쓰던데
그게 얼마나 필요할 지 어떻게 앎?
하다 보면 많이 필요할수도 있고 그런거 아닌가
그럴땐 가변길이배열 쓰거나 동적할당하면됨
한두번도 아니고 매순간순간 그런식으로 자면 오버헤드 심해서 보통은 다른 자료구조를 쓰게 됨
다른 자료구조들도 결국 동적할당이지
니가 말하는 방식이랑은 좀 다른데
그래서 문자열 많이 다뤄야 하는 db같은 어플에선 c언어 비추임. c++도 포인터 의식하면서 짜느라 헷갈리고. 걍 다른 랭귀지 쓰는게 좋음.
다른 언어도 버퍼 자동으로 잡아주는 수준이지 머가 다름?ㅇㅅㅇ
문자열 메모리 관리를 랭귀지 자체에서 컴파일타임에 자동으로 해주니까 개발자가 신경 안써도 되지만 c언어는 malloc 따위 써서 일일이 코딩으로 구현하고 free까지 해줘야 함
이게 파이썬 스타트의 폐혜구만
메모리를 니가 할당해줘서 그 메모리 주소를 포인터가 가리키게 하면 됨
c언어 문자열 다루기 더럽지. 그래서 일정한 크기로 고정해두고 그걸 하나의 페이지로 해서 여러페이지 차곡차곡 늘리는 페이징기법 씀.
애초에 그런 면에서 친절한 언어가 아닌가보네 ㄱㅅㄱㅅ
그럴땐 가변길이배열 쓰거나 동적할당하면됨
한두번도 아니고 매순간순간 그런식으로 자면 오버헤드 심해서 보통은 다른 자료구조를 쓰게 됨
다른 자료구조들도 결국 동적할당이지
니가 말하는 방식이랑은 좀 다른데
그래서 문자열 많이 다뤄야 하는 db같은 어플에선 c언어 비추임. c++도 포인터 의식하면서 짜느라 헷갈리고. 걍 다른 랭귀지 쓰는게 좋음.
다른 언어도 버퍼 자동으로 잡아주는 수준이지 머가 다름?ㅇㅅㅇ
문자열 메모리 관리를 랭귀지 자체에서 컴파일타임에 자동으로 해주니까 개발자가 신경 안써도 되지만 c언어는 malloc 따위 써서 일일이 코딩으로 구현하고 free까지 해줘야 함
이게 파이썬 스타트의 폐혜구만
메모리를 니가 할당해줘서 그 메모리 주소를 포인터가 가리키게 하면 됨
c언어 문자열 다루기 더럽지. 그래서 일정한 크기로 고정해두고 그걸 하나의 페이지로 해서 여러페이지 차곡차곡 늘리는 페이징기법 씀.
애초에 그런 면에서 친절한 언어가 아닌가보네 ㄱㅅㄱㅅ