정말 처음부터 다시 시작하려고 하는데요.
이 책부터 공부하면 되는건가요?
이거하고 어셈블리어 하고 c하고 하면 포인터나 구조체 머 그런 개념까지 이해하는데 도움이 되나요?
제가 컴공과가 아니라... 그냥 c언어부터 시작하고 있는데...
아휴... 포인터 배열 들어가기 전까지는 문법이 이러닌깐 외워야겠다 했는데..
포인터는 이해를 못하니 외워도 언제 어떻게 써야 좋은건지 감이 안오더라구요.
그래서 어찌저찌 찾아보니 컴퓨터 시스템을 이해해야 한다 그래서
컴퓨터 구조를 아키텍쳐라 그러더라구요.
하여튼 제가 하려는게 올바른 방향인가요?
님정도 이해도로 저정도책 이해하기 힘듬
그리고 포인터랑도 별 관련은 아에 없는건 아니지만 도움 안됨
그러면 어떤걸 공부해야 하나요?
포인터가 왜어렵지
Programming: Principles and Practice Using C++ 이나
HOW TO PROGRAM C++ 같은 두꺼운 C언어 책 봐라
열혈강의 c포인터를 보고 고등학교 전문계에서 배우는 컴퓨터구조 사서봐라
포인터를 이해하려고 컴퓨터구조를!!!!
야 시박 쩐닼ㅋㅋㅋ 사람 하나 죽여보겠다고 인체해부도 공부하는 꼴일세 ㅋㅋㅋ 그렇게 너무 저수준으로 파고 들어갈 필요없어
포인터는 그냥 주소를 저장하는.....변수일뿐이랑께....그냥...원격스위치라고 생각혀.....실제값을 바꾸려면....참조형식을 쓰는거고..끝..
사람은 배열하고 친하고 컴퓨터는 포인터하고 친하다. 즉, 사람을 배열을 쓰고 싶어하고 컴퓨터는 배열도 포인터로 취급한다. int a[5]라는 변수를 만들어서 3번째 변수를 참조할 때 사람은 a[2]라고 쓰면 편하다고 생각하지만 컴퓨터는 *(a+2)라고 쓴다. 사람은 char str[5] = \"abcde\"에서 3번째 글자\'c\'를 str[2]라고 쓰면 편하다고 느끼지만 컴퓨터는 *(str+2)로 생각한다.
더 자세히 알고 싶으면 duzumunhae@daum.net으로 메일을....
2차원 3차원 배열도 결국 일차원 포인터일 뿐이고, 포인터란 변수의 크기(char은 1, int는 2나 4, float는 4...)만큼씩 이동하면서 배열과 같은 일을 한다. s[7][6]이라는 2차원 배열에서, s[7][0]번지 주소는 &s[7][0]이고 앞의 주소 연산자와 뒤의 첨자[0](0일 경우만)는 서러 상쇄되어 s[7]이 s[7][0]의 번지가 된다.3차원 배열 s[5][6][8]에서 s[5][6][0]의 번지는 &s[5][6][0]이고 &와 [0]이 상쇄되어 s[5][6]이 s[5][6][8]의 번지가 된다. char s[4] = \"abc\\0\"나 char *s = \"abc\"나 같은 것이다.