자료구조전 복습 (C)

dev_butler·2023년 8월 26일

c에서 살아남기

목록 보기
5/5
  • 메모리
    : 모든 변수는 주소 가짐
  • 포인터
    : 메모리 주소를 값으로 가지는 변수
    • 포인터 변수에도 자료형 명시
  • &연산자 (암퍼센트)
    : 해당 변수의 메모리 주소 반환
    1. 포인터 변수 선언
     int *ptr; (ptr이 포인터 변수라는거)
     
    2. 포인터 변수 선언 & a의 주소로 초기화
     int *p = &a;
    
    3.  주소값 assign
    p = &a (O)
    *p = &a (X)
    
    -------------
    int a=7, b=8;
    int *p = &a;
    
    p = &b; (p값은 &a였는데 &b로 변경)
    *p = 9; (p의 값을 8에서 9로 변경
    *p = &a; (p가 가리키는 b값엔 int 넣어야함)
  • 동적 메모리
    malloc : 메모리 요청, 할당받아 데이터 저장
    (자료형 *)malloc(할당할 자료형 크기)
    free : 할당한 메모리 회수
  • 동적 변수
    new : (자료형*)malloc(할당할 자료형 크기)
    • 자료형만 명시해도 된다
      int *p = new int;
      delete : 할당한 메모리 회수
  • 문자열 : char타입 배열이 각 칸마다 문자 하나씩 저장
    • 저장 : scanf("%s, buffer), &연산 필요없음
    • 생성 : str[]=배열 값 바꾸기 가능, *str=다른문자열 가리키기
  • 문자 입력
    • scanf : 공백단위, 단어 하나씩 입력받음
    • gets : 줄바꿈 나오기 전까지 읽음
    • fgets : 배열 크기를 매개변수로 받음
  • 변수
    • 전역변수 : 함수 외부에 선언된 변수, data selection에 위치
    • 지역변수 : 함수 내부 선언된 변수(return시 소멸), stack에 위치
  • 동적 메모리 할당
    • malloc등 함수 호출, free없는 한 유지
    • heap에 위치 (종료되어도 계속 사용)
  • 파일 저장, 로드

0개의 댓글