11장 | 포인터, 포인터와 배열

2018. 12. 26. 23:36·공부 ✨/C






포인터란 무엇인가 ? 



포인터 변수 :  메모리의 주소 값을 저장하기 위한 변수이다 ! 

ㄴ 주소 값 => 정수 



1
2
3
4
5
6
7
8
int main(void)
{
    int num=7;
    int * pnum;      // 포인터 변수 pnum 의 선언
    pnum = #    // num의 주소값을 포인터 변수 pnum 에 저장
 
}
 
Colored by Color Scripter
cs


여기서 pnum은 포인터 변수이다.


int * 은 int형 변수의 주소 값을 저장하는 포인터 변수의 선언이다.





& 연산자와 * 연산자



변수의 주소 값을 반환하는  & 연산자 





포인터가 가리키는 메모리를 참조하는 * 연산자




다양한 포인터 형이 존재하는 이유 !




==> 이렇듯 포인터의 형은 메모리 공간을 참조하는 기준이 된다.



포인터와 배열


배열의 이름은 무엇을 의미하는 가? ==> 포인터


배열의 이름은 포인터이다. 단, 그 값을 바꿀 수 없는 '상수 형태의 포인터 이다.'





 포인터 연산





중요한 결론 !  arr[i] == *(arr+i)


: 배열 한 칸을 옮긴다. 





배열과 포인터 비교


char str[20] = "a b c d"    vs       char *str = "a b c d"


str = "def "    불가능                  1. 문자열이 메모리 공간에 저장 

2.  0x0013 이라느 주소 값 반환 




두 가지 형태의 문자열 비교 






포인터 배열


int * arr1[20];        // 길이가 20인 int 형 포인터 배열

double * arr2[30];    // 길이가 30인 double형 포인터 배열












저작자표시 비영리 변경금지 (새창열림)
'공부 ✨/C' 카테고리의 다른 글
  • 12장 | 문자열 관련 함수
  • 10장 | 배열
  • 9장 | 함수
  • 8장 | 조건문
hjc_
hjc_
  • hjc_
    개인노트
    hjc_
  • 전체
    오늘
    어제
    • 분류 전체보기 (130)
      • 일상 ✨ (1)
      • 책 읽기 ✨ (4)
      • 자유게시판 ✨ (25)
      • 영어공부 ✨ (20)
        • 오늘의 영어 (5)
        • 매일 20문장 영어 회화 (8)
        • 공부 자료 (7)
      • 공부 ✨ (78)
        • C (13)
        • JAVA (26)
        • JSP (1)
        • Python (2)
        • 머신러닝 & 딥러닝 (6)
        • 리눅스 (4)
        • 자료구조 (7)
        • 알고리즘 (8)
        • 네트워크 보안 (2)
        • 컴퓨터 구조 (1)
        • 데이터 베이스 (1)
        • 공부 자료 (7)
      • 실습 ✨ (0)
      • 프로젝트 ✨ (0)
  • 블로그 메뉴

    • 홈
  • 링크

    • dynalist :: 계획, 프로젝트 관리
    • 비캔버스 :: 온라인 화이트 보드
  • 공지사항

  • 인기 글

  • 태그

    답
    Introduction to Algorithms
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
hjc_
11장 | 포인터, 포인터와 배열
상단으로

티스토리툴바