제목은 이렇게 적어놨는데 질문은 좀 많음 양해 좀.
취미로 cpp 배우려고 기본적인 개념을 C부터 배워가는 뉴비임
먼저 첫번째로 메모리 동적 할당에 대해서인데
malloc 사용법은 이해가 됐는데 struct랑 엮이니까 눈 팽팽 돌아서 오늘 아예 포인터부터 새로 다시 읽었는데
보다 보니까 cpp에서 new가 malloc 역할을 한다고 하더라고..
그래서 질문인데 메모리 동적 할당 부분은 malloc는 개념만 이해하고 넘어간다 vs malloc 사용법 정도는 완전히 익혀두는게 좋다.
이거랑 두번째 질문은 포인터 vs 참조자임
cpp가면 참조자 있으니까 참조자만 쓰면 개꿀이다 vs 참조자랑 포인터를 쓰는 곳은 별도니 둘 다 익혀두는 게 좋다
이거에 대한 견해좀 말해줭 포인터는 거의 다 이해한 거 같은데 참조자만 쓰다보면 까먹을까 걱정이라 미리 알고가는게 좋을 거 같음
그리고 마지막으로 구조체랑 클래스에 대해선데 내가 그래도 파이썬을 1주일 정도 만져봐서 클래스가 어떻게 사용하는 건지 감은 있는데
암만봐도 구조체가 클래스의 기능 중 일부만 수행할 수 있어서 하위호환 같단 말이야(내가 알기론 초기화 안된 변수만 넣을 수 있는 걸로 암)
그래서 구조체의 활용법을 완전히 익히고 가는 게 좋은지(cpp에서도 유용하게 사용하는지)
아니면 cpp로 넘어가면 클래스 위주로 사용하니까 개념만 익히고 가는게 좋은지에 대해서 좀 알려줘..
늒네 C 공부한지 이제 닷새 정도인데 많이 갈팡질팡 한다..
전부 다 알면 안 되는거임?
아예 안배우고 넘어간다는 게 아니라 개념은 숙지하고 넘어가는데 malloc 함수 사용법 같은 게 new로 대체되면 안 쓰게 되니까 시간 낭비 같아서 그럼. 뭐 때문에 사용하는 지는 알고 있는데 완벽한 대체제가 있는 거면 좀 그렇잖어
이후로도 계속 사용하는 기능이면 숙지하고 넘어가고 대체되는 기능이면 이해만 하고 넘어가려고 함
1번은 솔직히 new 쓰다보면 결국 malloc이 뭔지 알아야하는 때가 올거라 지금해도되고 언젠가 하게될거같음
2번은 포인터 익히고 가는게 맞다
포인터는 다행히 몇 번 복습 해두면서 용법은 익혀둔 상태임 웬만해선 실수 안한다고 생각하는 데스
malloc은 변수들 수에 딱 맞춰 만드려고 타입 크기에 맞춰서 배열 수 정하는 함수라고만 이해하고 있는데 구조체랑 섞어서 나오니까 눈 핑핑 돌아가는 것이야...free(뉴비);
그것보단 변수의 수명을 프로그래머가 정할 수 있다는게 더 큰듯
그럼 malloc 문법은 완전히 익히고 가는 게 좋은 거지? struct는 어떰?? 클래스랑 별도로 사용할만큼 유용한 기능임??
알면 좋지만 struct는 딱히 어려운게 없어서 넘어가도 됨. 그리고 C++할거면 C 안하고 바로 시작해도 돼. 동적할당이나 포인터는 C++에서도 중요해서 어차피 하게 될거고
물론 C++ 자료중에 C를 안다고 가정하고 하는것들도 많아서 알면 좋긴 하지
https://modoocode.com/
원래 c++부터 하려고 했는데 예시 보다 보니까 struct가 있어서 이런 건 파이썬에 없었는디! 하고 중요한 건줄 알고 C부터 봤음 ㅋㅋ 마침 저 사이트 보면서 공부하고 있었음 조언 감사요
malloc 그냥 주어진 크기의 메모리의 주소 받는거란것만 알면 끝인데 사용법도 이해 됐으면 뭘 모르겠다는거임?
정확한 함수 구성을 잘 모름 (???)malloc(sizeof(타입))뭐 이랬던거 같은데
옳게 된 뉴비다 포인터는 마스터하는게 좋음 더블 포인터, 따따따따따따블 포인터, 함수 포인터, 포인터 함수, 배열과 포인터의 차이, 배열 주소 포인터 연산 이렇게 이해하고 넘어가면 됨
저는 혼절하고 말았습니다