C언어 메모리 접근 방법, 포인터

2025. 1. 6. 22:11·잡다한 공부
반응형

C언어 메모리 접근 방법 

 

& (ampersand) 이 변수의 메모리 상의 주소 

* (asterisk) 그 주소가 가리키고 있는 값(value)을 가져와라. 

 

C언어 메모리 접근 예시 

int answer = 42; // 정수가 들어갈 수 있는 answer 변수에 42 값을 대입 

printf("%d\n", answer); // answer 변수를 "십진수\n" 형태로 출력. (%d의 d는 decimal)

printf("%d\n", &answer); // answer 변수가 저장되어있는 메모리 주소를 출력

 

- 저장된 값과 주소는 전혀 상관없음. 

 

C언어 포인터 변수 

C언어에서 주소를 저장할 수 있는 변수를 포인터 변수라고 부름.

포인터 변수는 변수 앞에 *(별표)를 붙여서 만들 수 있음. 

기본적으로 주소만 먹는 친구라서 먹이도 주소로 줘야한다. 

#include <stdio.h>

int main()
{
int n = 42;
int *p = &n;
    
printf("%d\n", &n); // 출력 100 (주소 100이라고 가정)
printf("%d\n", p); // 출력 100
}

 

위 코드는 p를 출력하게 될 때 메모리의 주소를 출력하게 된다. 

실제 "값"(42)를 출력하고 싶으면 다시 *을 써서 출력해야 합니다. 

 

printf("%d\n", *p);

 

포인터 변수는 태어날 때 쓰인 별과 사용할 때 별을 다르게 해석해야함. 

 

 

 

 

 

출처- 인프런 주말코딩 정보처리기사

728x90
반응형

'잡다한 공부' 카테고리의 다른 글

ASCII CODE  (2) 2025.01.18
커스텀 자료형 typedef  (6) 2025.01.18
C언어 구조체 struct, 구조체 포인터  (4) 2025.01.17
재귀함수란 무엇일까?  (5) 2025.01.16
프로그래밍 관점 함수란?  (3) 2024.12.31
'잡다한 공부' 카테고리의 다른 글
  • 커스텀 자료형 typedef
  • C언어 구조체 struct, 구조체 포인터
  • 재귀함수란 무엇일까?
  • 프로그래밍 관점 함수란?
dzaaling
dzaaling
  • dzaaling
    huigrowthdiary
    dzaaling
  • 전체
    오늘
    어제
    • 분류 전체보기 (31)
      • language (6)
        • Java (6)
      • data base (1)
        • Oracle (1)
      • frontend (3)
        • HTML5 (0)
        • CSS3 (0)
        • Javascript (3)
      • backend (3)
        • Spring (3)
      • 코딩테스트 (2)
      • 잡다한 공부 (16)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    orcale 11g
    코딩테스트
    정처기 데이터베이스
    전위식
    커스텀자료형
    정보처리기사
    2정규화
    인텔리제이오류
    정처기 파이썬
    백준
    후위식
    부분 함수 종속
    정처기 비트연산
    C
    java
    c언어
    정처기 전위식
    정처기 매크로
    정처기
    스프링부트
    javascript
    vscode 플러그인
    중위식
    정처기 증감
    프로그래밍
    쿼리파라미터
    자바
    정처기 실기
    자바스크립트
    코린이
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
dzaaling
C언어 메모리 접근 방법, 포인터
상단으로

티스토리툴바