C 언어 지침 학습 경험 총화

1945 단어 C 언어포인터
이 C 언어 지침 학습 경험 총 결 은 주로 제 가 입사 한 이래 C 지침 을 배 우 는 과정 에서 의 작은 기록 입 니 다.문서 안에 책 에서 분명하게 말 한 개념 적 인 것 을 반복 하지 않 고 잘 모 르 거나 이해 하기 어 려 운 것 만 설명 하고 다음 과 같은 세 가지 목적 을 달성 하 기 를 바 랍 니 다.
1.이런 것들 을 써 서 내 머 릿 속 의 C 에 대한 모호 한 지식 을 선명 하 게 한다.2.C 를 처음 옮 긴 동료 들 에 게 힌트 와 도움 을 준다.3.선배 님 들 도 문서 에 잘못된 부분 이 있 는 지 확인 해 주시 기 바 랍 니 다.1 지침 의 개념 분해      포인터 는 메모리 에 저 장 된 수치 가 메모리 의 주소 로 해 석 된 특수 한 변수 입 니 다.지침 하 나 를 정확히 하려 면 지침 의 네 가지 내용 을 정확히 알 아야 한다.
1.포인터 의 종류 2.포인터 가 가리 키 는 종류 3.포인터 의 값 이나 포인터 가 가리 키 는 메모리 영역 4.그리고 포인터 자체 가 차지 하 는 메모리 영역 은 먼저 몇 개의 지침 을 두 고 예 를 들 어 설명 합 니 다.
예 1:
(1)int *ptr;
(2)char *ptr;
(3)int **ptr;
(4)int (*ptr)[3];
(5)int *(*ptr)[4];
1.1 포인터 의 종류      문법 적 측면 에서 볼 때 지침 성명 문 에 있 는 지침 이름 을 지우 면 나머지 부분 은 이 지침 의 유형 이다.이것 은 포인터 자체 가 가지 고 있 는 유형 이다.그래서 다음 예 에서 각 지침 의 유형 을 분석 합 니 다.
(1)int *ptr; //포인터 의 종 류 는 int*입 니 다.
(2)char *ptr; //포인터 의 종 류 는 char*입 니 다.
(3)int **ptr; //포인터 의 종 류 는 int**입 니 다.
(4)int (*ptr)[3]; //포인터 의 종 류 는 int(*)[3]입 니 다.
(5)int *(*ptr)[4]; //포인터 의 종 류 는 int*(*)[4]입 니 다.
그래서 지침 의 유형 을 찾 는 방법 은 간단 하지 않 습 니까?
1.2 포인터 가 가리 키 는 종류     포인터 가 가리 키 는 메모리 영역 에 포인터 로 접근 할 때 포인터 가 가리 키 는 유형 은 컴 파일 러 가 그 메모리 영역 에 있 는 내용 을 무엇으로 보 는 지 결정 합 니 다.문법 적 으로 볼 때 포인터 성명 문 에 있 는 포인터 이름과 이름 왼쪽 에 있 는 포인터 성명 자*를 제거 하고 나머지 는 포인터 가 가리 키 는 유형 입 니 다.예 를 들 면:
(1)int *ptr; //포인터 가 가리 키 는 종 류 는 int 입 니 다.
(2)char *ptr; //포인터 가 가리 키 는 종 류 는 char 입 니 다.
(3)int **ptr; //포인터 가 가리 키 는 종 류 는 int*입 니 다.
(4)int (*ptr)[3]; //포인터 가 가리 키 는 종 류 는 int()[3]입 니 다.
(5)int *(*ptr)[4]; //포인터 가 가리 키 는 종 류 는 int*()[4]입 니 다.
지침 의 산술 연산 에 서 는 지침 이 가리 키 는 유형 이 큰 역할 을 한다.
    포인터 의 유형(즉 포인터 자체 의 유형)과 포인터 가 가리 키 는 유형 은 두 가지 개념 이다.C 에 대해 점점 익숙해 지면 지침 과 섞 인'유형'이라는 개념 을'지침 의 유형'과'지침 이 가리 키 는 유형'두 개념 으로 나 누 는 것 이 지침 에 정통 한 관건 중 하나 라 는 것 을 알 게 될 것 이다.어떤 교재 들 은 책 에 나 쁘 게 쓰 여 지침 이라는 두 개념 을 한데 뒤 섞 어 놓 았 기 때문에 책 을 보면 앞 뒤 가 맞지 않 아 보면 볼 수록 헷 갈 린 다.

좋은 웹페이지 즐겨찾기