C언어 Pointer

Поделиться
HTML-код
  • Опубликовано: 29 янв 2025

Комментарии • 96

  • @hololoro
    @hololoro 9 месяцев назад +1

    오 엑셀 비유 너무 찰떡이네요 !!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  9 месяцев назад

      더불어 Java 참조자도 같은 것으로 이해할 수 있습니다. :)

  • @Grujam92
    @Grujam92 11 месяцев назад

    2중포인터까지는 기본적인 자료구조 구현할때도 아주 많이 쓰입니다

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  11 месяцев назад

      그렇게 될 수도 있긴하지요. 개인적으로 다중 포인터는 최대한 막으려 애쓰고 있습니다. :)

  • @이수빈-e1d1t
    @이수빈-e1d1t 11 дней назад

    안녕하세요, 좋은 강의 올려주셔서 감사합니다.
    저는 비전공자이지만 자료구조를 독학하는 대학생입니다. (C 문법을 배운지 얼마 안 된 왕초보)
    Visual Studio를 사용한다고 하셨는데,
    현재 맥(Mac)의 경우 VS 지원이 끊겨 VS code를 사용해야 하는 상황입니다.
    이 경우에는 따라가기 힘들까요?

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  4 дня назад

      메모리를 볼 수 있도록 VS를 설정하시면 가능합니다. 다만 화면이 완전히 일치하지 않는다는 점은 감안하셔야 합니다. 참고하시기 바랍니다. :)

  • @김지성-f7j
    @김지성-f7j 10 месяцев назад

    와 정말 쉽게 이해됐네요 대학 자료구조 수업을 못따라가서 따로 공부중인데 정말 감사합니다!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  10 месяцев назад

      아하...그러시군요. 좋은 결과 얻으시기 바랍니다. :)

  • @b1ueberrycheesecake
    @b1ueberrycheesecake Год назад

    백준 실버티어에서 막히기 시작해서 바로 수강하러 왔습니다. 항상 감사드립니다.

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Год назад

      백준...문제를 저도 좀 풀어보긴 해야 할 것 같네요. 제가 더 감사합니다. :)

  • @JinsungB
    @JinsungB Год назад

    이해가 안 되더라도 끝까지 마쳐보겠습니다. 좋은 강좌를 오픈해주셔서 감사합니다!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Год назад

      몇 번 시도해보면...암기에서 이해로 넘어가는 시점에 찾아오리라 생각합니다. ^^;;

  • @쀼랑단
    @쀼랑단 Год назад

    와.. 오늘도 소름돋고 가네요 엑셀에 비유하시다니 좋은 영상 감사합니다

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Год назад

      엑셀로 이해하시면...참조라는 개념을 쉽게 이해 할 수 있지요. 좋은 평가와 피드백 고맙습니다. :)

  • @alphago410
    @alphago410 6 месяцев назад

    포인터는 인터프린팅 언어에도 연산조작만 안될뿐 레퍼런스라 해서 어렵지않게 존재하는데
    컴파일러에서 포인터가 아렵게 느껴지는건
    컴파일후 파일로 저장될때까지는 아무련 실체가 없이 특별한 명령어로 있다가 메모리에 적재된 이후에 비로소 구체화되기 때문이 아닐까

  • @gingtom2
    @gingtom2 Год назад

    엑셀로 포인터를 설명하시는 것을 들으면서 등잔 밑이 어둡다는 생각이 들었습니다 엑셀은 그동안 잘 썻으면서 왜 지금까지 포인터를 이해하기가 어려웠는지... 깨우침을 주셔서 감사합니다

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Год назад

      포인터는 '참조'를 구현한 방법 중 하나입니다. 참조라는 개념은 각 언어마다 그 구현에서 차이가 있습니다. 더불어 함께 생각하시면 좋겠습니다. 감사합니다. :)

  • @이하-r8o
    @이하-r8o Год назад

    포인터 이해가 안되서 고생중이었는데, 엑셀로 보니까 쉽게 이해가 됐네요. 감사합니다.

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Год назад

      이해가 됐다니 다행입니다. '참조'라는 개념도 포인터 연장선에서 이해할 수 있는 것이니 참고하시기 바랍니다.

  • @jaekunyoo8509
    @jaekunyoo8509 Год назад

    3/3 C언어 10일차 왕초보 기초개념
    어느 영상에 단 댓글
    초보자가 본 포인터 난해설은 선언문에서 별을 붙여 지시자, 지적자로 지정하고는 실행문에서는 별을 떼고 일반 변수처럼 문자만 있으니 헛갈리는 첫걸음, 지름길이에요.
    일반 변수들을 선언문에서 자료형 지정하고 실행문에서 변수명 만 쓰듯이 같은데, 처음 들은 변수형에 얼떨떨한데, 상급자들은 당연하니 이 부분을 설명 안해요.
    그리고는 갑자기 별을 다시 붙이고 자신(지시자, 지적자, 주소 변수?)의 값인 지적한 곳(것, (지적한) 변수)의 주소, 주소값을 찾아오는게 아니라 어떻게 건너는지 한다리 건너 지적한 곳의 값을 찾아온다니 헛갈릴 수 있지요.
    그런데 위 부분은 정말 처음 듣는 이들이 혼동되어야지 두세번은 짧은지 모르겠는데 관심갖고 자세히 보면 전혀 어렵지 않지요. 달 가르키는 손가락만 보며 달 찾으니 보이나요?
    포인터 - 주소값을 저장하는 변수
    포인터 선언 - 선언문에서 주소를 저장하는 변수와 같은 자료형 명시하고 별을 변수명 앞에 붙여 표시
    사용 - 실행문 내에서는 별표 없이 변수명 만 사용(일반 변수들을 선언문에서 자료형 지정하고 실행문에서 변수명 만 사용과 동일)
    주소 - 공간의 첫주소(첫주소값)를 말하며 문자형 자료는 1 바잍이니 그 자체, 정수형 자료를 갖는 변수의 주소는 4 바잍의 첫주소가 전체 4 바잍의 공간을 의미, 이중 실수형 자료를 갖는 변수의 주소는 8 바잍의 첫주소가 전체 8 바잍의 공간을 의미, 표시
    int exp_a;
    int * exp_a_p;
    exp_a = 12;
    exp_a_p = &exp_a;
    변수 주소 - 주소 연산한(주소 연산자&를 붙인) &exp_a
    1. 자료값(내용물) - 변수에 대입된 자료
    2. 연산 결과 - (자료가 담긴) 해당 변수의 (기억공간의) 주소
    3. 연산 목적 - 주소를 통해 해당 자료형의 공간 표시
    포인터 exp_a_p
    1. 자료값(내용물) - 가리키는(지시, 지적하는, pointing) 해당 자료형 자료의 시작 주소, 첫주소
    2. 목적 - 가리킨(지시한, 지적한, pointing) 주소를 통해 기억공간(대상, 목적물)을 간접참조하여 자료를 복사하거나 변경
    3. 조건 - 간접참조가 목적이므로 지적한 변수와 자료형이 일치 필요
    가르킴, 지시, 지적, pointing = 주소, 주소값 저장(보유)
    가르키는 것, 지적 대상은 목적에 따라 자료, 자료값이기도 하고 공간이기도 함
    1. 지적된 해당 자료형의 변수에 저장된 자료값을 참조(복사)하려면 실행문 우변에 위치하여 참조 연산자 별을 붙여 지적하는 주소에(를 통해) 접근하여 자료값을 간접참조(복사)
    2. 지적된 해당 자료형의 변수의 공간에 접근하여 자료를 참조(변경, 재할당?)하려면 실행문 좌변에 위치하여 참조 연산자 별을 붙여 지적하는 주소인(주소를 통해) 공간에 접근하여 자료값을 간접참조(변경)

    대상에 접근하여 참조(사용)하기 위해 참조 연산자 별 표시
    직접참조: 변수에 접근하여 자료값을 읽거나(복사하거나) 변경
    간접참조: 변수의 주소를 통해 자료값을 복사하거나 변경
    배열명 - 배열의 첫주소인 상수
    역할 구분
    int * pa = &a; 선언시 선언문에 변수 a의 주소를 포인터 변수 pa에 저장
    포인터 변수 pa가 a의 주소 &a를 저장하고 있으므로 pa == &a
    *pa는 a의 주소 &a를 통해 참조한 a의 자료값이므로 *pa == *&a == a
    &pa는 포인터 변수 pa 자체의 주소, 다중 포인터에서 사용
    scanf에서 입력받아 변수 a에 직접 저장할 수 없어 그 주소 &a를 통해 넣음
    종료 2023년 8월 18일 금 21시44분 태평양 시간 3/3

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Год назад +1

      와우~~! 의견 감사합니다. :)

    • @jaekunyoo8509
      @jaekunyoo8509 Год назад

      ​@@nullnull_not_eq_null
      안녕하세요. 답변 주셔서 감사합니다.

  • @local-q5c
    @local-q5c 2 года назад +8

    자료구조!! 공부 하려는 타이밍에 지금 제가 공부하는 타이밍이랑 계속 맞아떨어지네요! 너무 좋아요

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад +1

      인생은 타이밍이죠~! 그럼 더 열심히 하실 것으로 믿고 있겠습니다. ^^

  • @jaekunyoo8509
    @jaekunyoo8509 Год назад

    2/3 C언어 10일차 왕초보 기초개념
    전자계산기(전산기, computer) 구조를 알면 용어와 작동을 잘 이해할 수 있겠지만, 구조를 싫어하거나 이해가 어려운 사람들도 개념 설명과 각 순서와 각 표현의 통일을 하면 매우 쉬울 수 있다고 추측
    변수 - 값을 변경할 수 있는 것, 이름이 변수라고 값은 수에 한정되지 않고 문자 등도 포함, 수학의 변수를 그대로 사용하는 것으로 추측
    상수 - 값을 변경할 수 없는 것, 숫자나 문자나 무관, 변수를 상수화 가능
    자료형 - 기억공간(memory) 절약을 위해 크기별로 자료 구분
    문자형: 1 바잍,
    정수형: 4바잍, 기타 정수형
    실수형: 4 바잍, 이중 실수형: 8 바잍, 기타 실수형
    주소 변수형: 운영체제 크기(처리 bit)에 따라 주소의 크기(길이) 다르므로 4 바잍, 8 바잍 결정
    주소 - 공간의 첫주소(첫주소값)를 말하며 문자형 자료는 1 바잍이니 그 자체, 정수형 자료를 갖는 변수의 주소는 4 바잍의 첫주소가 전체 4 바잍의 공간을 의미, 이중 실수형 자료를 갖는 변수의 주소는 8 바잍의 첫주소가 전체 8 바잍의 공간을 의미, 표시
    선언문 - 기계어로 번역하는 번역자(compiler)에게 미리 준비하게 정보 제공
    1. 변수 선언시 기억공간 할당(확보, 지정)을 위해 자료형 제공
    2. 함수 선언시 자료 갯수, 각 자료형, 반환 여부, 반환치의 자료형 제공
    실행문 - 선언문에 명시한 자료형을 표시하지 않고 변수명 만 사용하며 순서대로 실행
    반환(return) - 함수를 시작하면 운영체제가 제어권을 넘겨주어 실행하고 종료시 제어권을 반환( 반납) 그래서 return문 이후는 소용 없다고 함({['return을 만나면 종료'만 설명하고 제어권 미언급]}), 함수 종료후 해당 내용이 삭제되므로 결과치 필요시 반환가능
    변수 선언(지정) - 기억공간 중 자료형 만큼 할당(확보, 지정)
    변수명 - (할당된)공간, 공간명, 공간 시작위치, 공간 시작주소, 공간 시작주소값
    공간 - 내용물(자료, 자료값)을 넣기 위한 상자, 용기, 방, 창고, 건물
    참조 - 공간에 접근하여 내용물을 읽어오거나(복사) 변경(재할당?), 자료값에 의한 참조와 주소, 주소값, 공간에 의한 자료값을 간접참조(역참조) 중 주로 자료값 참조 사용
    기억공간 구분 -
    1. 문자영역(code area, text area) 실행절차문(code) 저장
    2. 자료영역(data area) - 어디에서나 사용가능한 전역변수(global variables)와 해당 지역함수에서만 사용가능하지만 그 함수가 끝나도 보관하게 static 예약어(keyword)로 지정한 정적 변수(static variables)를 저장
    3. 동적?영역(heap area) - 필요에 따라 기억공간을 생성, 소멸 등 제어가능 영역
    4. 적재영역(stack area) - 함수들이 실행될 때 사용하는 해당 기억공간인 stack frame(적재구도, 적재틀)들을 저장
    함수 - 작동, 실행 단위
    매개변수 - 함수를 정의(설계)할 때 실행(동작)시 참여하는 요소들을 위해 설계시에만 대역으로 연기(자신은 결과치로 변하지 않으므로 '매개'란 용어라고 추측)
    인자 - 함수 실행시 실제 참여하는 요소들, 입력시 매개변수와 명칭 달라도 되나 순서와 갯수는 일치 필요
    반환문(return) - 종료를 알리기 위해 필요, 종료후 해당 내용은 모두 삭제
    반환치(return value) - 실행 결과치를 전달해야 할 경우 하나만 반환, 2개 이상 반환 필요시 주소 변수 이용하여 간접참조로 가능
    함수 실행 시작 - 함수 만의 기억공간(적재틀, stack frame)이 적재영역(stack area)에 할당되어 변수 등 인자 입력과 명령 수행 시작
    함수 내에서 다른 함수를 불러오면(호출하면, call) 자신의 작동을 멈추고 그 함수를 실행하는데 이 때 소환된 함수를 위한 기억공간(적재틀, stack frame)이 자신의 기억공간 위에 할당됨(위에 쌓여서(적재되어) stack(stack된다)이라 표현)
    함수 실행시 생성(할당)하는 작동을 push(밀어넣기), 종료시 소멸(제거)하는 작동을 pop(따내기)이라 부름
    이런 방식으로 2차, 3차 등 여러 소환된 함수들이 자신들이 실행중에 다른 함수를 호출하면 main함수의 적재틀(stack frame)위에 소환함수1의 적재틀이 쌓이고, 그 위에 소환함수2의 적재틀이 쌓이는 식으로 계속 쌓이며 적재영역(stack area)의 용량을 차지하여 그 용량을 넘는 범람(overflow)이 생겨 전체 실행이 종료되는 등의 문제 발생
    (초보라서 어떻게, 얼마나 용량지정할 수 있는지는 모름)
    재귀함수 - 결과치를 찾기(계산하기) 위해 자신 내에서 자신을 불러(호출하여, 재귀의미인지 궁금) 위에 쌓고(적재하고, stack하여) 다른 인자(입력값)로 같은 기능으로 조건 만족할 때까지 계속 호출해서 실행하므로 호출(재귀) 횟수 많으면 적재기억공간을 넘칠 수도 있음
    함수 종료 - 제어권 반환(return)하면 pop이란 작동으로 해당 함수 적재틀(stack frame)을 소멸(제거)하니 결과치가 필요시 같이 반환, 호출된 함수일 때 그 함수가 종료하여 제어권을 호출한 함수에게 반환(return)하면 위에 쌓인 그 소환(호출)된 함수의 적재틀을 제거
    재귀함수 - 결과치를 찾기 위해 반복 생성시 적재틀(stack frame)이 계속 생기다가 결과치를 찾으면(계산하면) 종료하고 반환되어 이전 함수로 돌아가서(재귀) 그 반환된 결과치로 계산하여 해당 함수 결과치 반환하며 종료하는 식으로 적재틀(재귀함수)이 순차로 없어져서(쌓였다가 없어져) 호출(소환)한 함수가 이후 명령문들을 수행할 수 있음
    적재영역(stack area)에서의 함수 생성시 함수별 적재틀(stack frame)이 점점 쌓여가므로 첫 틀(첫 함수, main함수)은 마지막 틀(소환된 함수)부터 제거돼야 마지막에 종료, 제거될 수 있음, 후입선출(LFIO : Last-In First -Out) : 최근에 들어온 단위가 먼저 나감
    왕기초자들이 이렇게 개념 설정 위해서 설명없이 읽고 해당 사항 공부시 반복하면 배열, 포인터 설명이 가능 추측(정확도 등 별도)
    정보통신 용어집을 검색했으나 못 찾아 임의 명명
    2023년 8월 18일 금 21시44분 태평양 시간 2/3

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Год назад +1

      의견 감사합니다. :)
      내용이 많이 좀 부담스럽긴 하네요.

    • @jaekunyoo8509
      @jaekunyoo8509 Год назад

      ​@@nullnull_not_eq_null
      안녕하세요. 답변 주셔서 감사합니다.
      부담이 되셨다니 전혀 예상 못했어요.
      초보자 대상이 아니라고 하신 답변과 연결된 것같네요.
      의도하지 않았지만 대단히 죄송합니다.

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Год назад

      앗! 죄송할 일은 아닙니다. 마음쓰지 마셔요~~!

  • @Food_eating_daily
    @Food_eating_daily 10 месяцев назад

    우즈베키스탄에서 온 유학생인데 널널한 개발자님께 감사 댓글을 답니다 ^^
    수업 시간에 우리 학교 교수님이 포인터를 대충 설명하셨는데 결코 포인터가 무엇인지 이해하지 않아서 유튜브 들어가서 검색했더니 널널한 개발자님의 영상이 나오더라고요 ㅋ
    그리고 널널한 개발자님이 말씀하시는 것처럼 우리 학교 교수님이 예제 코드를 보여주시면서 시연하셔서 그런지 제가 스스로 짠 코드에서 오류가 나올 때 교수님께 도움을 받기가 어렵습니다 ㅠ
    그래서 한 학기 동안 인공지능과 유튜브를 사용하면서 공부할 것 같습니다 ^^
    널널한 개발자님처럼 한국어로 강의를 녹화해서 유튜브에 올리신 분들이 많이 있으면 좋겠습니다 !
    항상 건강하시고 행복한 인생을 보내시기 바랍니다.
    다시 한번 진심으로 감사드립니다 ^^

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  10 месяцев назад

      와우~~! 제가 더 고맙습니다. 그런데 한국어 수준이 매우 높으시네요. 학습에 도움이 됐다니 정말 다행이네요. 공부하다가 제 의견이 필요하다면 언제든 댓글로 알려주세요. :)

  • @ddd-zi8cd
    @ddd-zi8cd Год назад

    이렇게 지식 무료로 공유해주셔서 감사드립니다
    하지만 잡설과 훈수가 너무 많게 느껴지네요
    다음에 다른 강의에서 또 뵈면 좋겠습니다 감사합니다.

  • @ruibelian
    @ruibelian 2 года назад

    저는 엑셀 1도 모르는 컴공과로 포인터는 으로 이해하는게 편했어요ㅎㅎ....

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      그렇군요. 피드백 감사합니다. ^^

    • @ruibelian
      @ruibelian 2 года назад

      @@nullnull_not_eq_null 근데 저 같은 경우 말고 다른 일 하시다가 넘어오시는 분들에겐 좋은 설명인 것 같아요bb

  • @jaekunyoo8509
    @jaekunyoo8509 Год назад +1

    안녕하세요. 감사히 잘 봤어요.
    엉뚱하게 포인터 덕분에 C언어에 입문한 파이선 초보자에요 .
    2주 전부터 포인터가 어렵다는 영상들이 연결되어 궁금해서 여러 영상 봤더니 처음부터 재미있어서, 기초설명 영상 보니 많은 부분이 파이선과 겹치고, PLC 제어영상 보고 지난 7일부터 C언어를 배우게 됐어요.
    8일 전에 대학 1학기 과정에 연결되어 2일 동안 정말 재미있게 문법 공부해서 수박겉핧기 마치고, 지체하면 그나마 적은 지식이라도 잊으니 파이선도 천천히 열심히 공부하고 있어요.
    요즘 일주일간 일 없으면 하루종일 C언어가 아주, 매우, 무척 재미있어서 자는 시간, 운전 시간이 아까울 정도로 열심히 공부해서 나름 개념 파악 다하고 문법은 거의 익혔어요. 작년에 빝코인 자동거래 하려고 대충 파이선 배워 시도하다가 일하느라 방치했더니 다 잊어서 2달 전부터 열심히 해서 재귀함수 알듯말듯하고 거의 다 복습하고 반복중이었는데, C언어에 눌려서 어쩌다 파이선 참조하려 VS Code 켜면 아무 생각이 안나서 정리한 파일 찾아서 새로운 것 보는 듯해요. C언어 코드가 더 친숙해졌어요. 자료형 선언하는 등 복잡하다고 들었는데 더 재미있어요. 문법을 다 기억하지 못하지만 정확하게 개념을 이해했는지 모르지만 개념은 전혀 어려운적이 없어요. 전공자들이 어려워한다는 것이 이해가 안돼요. 우선 어느 영상에서 2시간 과제 말씀하신대로 안보고 쉬운 예제들을 풀 정도는 돼야겠지요. 재귀함수도 확실히 이해했어요. C언어 덕분이에요. 구조체도 파이선 클래스 개념 나름대로 이해해서 객체 개념도 중요하지만 단어 의미대로 목적도 중요하다고 이해하고 있어요. 목적을 갖고 객체를 만드는 거지요. 물건 만들 때 목적이 있으니 당연하게 포함된 개념이지만 중점을 둔다는 말이지요. 파이선은 self로 C++은 this라고 들었는데 이것도 처음에는 왜 자신이라고 했나 self는 기본이고 다른 인자를 받아 두개 인자에서 self와 인자가 합쳐져서 하나로 되는 이유를 모르고 따라하면 맞으니 그러려니 하고 썼는데, 어느 날 self가 만들어지는 객체라는 것을 깨달았어요. 빵틀이던 설계도에서 누구 빵인지 어떤 빵인지 정할 수가 없으니 이름 쓸 공간을 마련한 거에요. 만들 때 그 이름으로 물건(객체) 이름이 되고, 객체와 관련된 인자는 자신과 연결되어 self.xxx 되지만 무관하면 별도 변수가 되지요.
    문제는 처리절차 = 알고리즘이 어렵겠지요. 이제라도 재미붙어서 열심히 하고 있어요.
    이렇게 재미있는 줄 알았다면 30년전에 장난삼아 리눅스 깔았다지웠다 놀 때 했다면 하는 생각이 드네요. 그때는 막연히 어렵다고 생각해서 시도도 못했어요.
    복잡하고 세밀한 조정을 좋아해서 도움이 되는 점도 있는 것 같아요. 수리할 때도 가정용 냉방기는 간단해서 재미없고 제어장치 많이 붙은 큰 상업용 냉방, 냉동기가 재미있어요.
    이 영상도 10일전 경에 봤고 좋아요 눌려져 있네요. 현재 반복하는 C언어 영상들 끝나면 '독하게 시작하는 C 제1장 C 프로그래밍 입문 - 첫 번째' 봤는데 가입해서 공부할 예정이에요. 어느 정도인지 매우 궁금하네요. 요즘 파이선은 뒷전이고 C언어에 푹 빠졌어요. 이런 날도 오네요.
    아래 글은 제가 10일 동안 처음 C언어를 배우면서 느끼고 이해한 기초 개념들이에요. 저는 파이선도 초보이고 아직 알고리듬은 시작도 못하고 몇 예제에서 어려운 것은 느꼈어도, 포인터 첫 영상부터 어려운 것 없었고 포인터 연산도 당연히 자료형 맞추어 다음 자리 찾는 것이 쉬웠었는데, 전공자들도 당시 이해 못해서 개발을 포기했다는 여러 댓글들 보면서 포인터 뿐만 아니라 일반적인 공부방법에서 기초적인 부분들의 이해가 안 돼서인가 의아하여 시간을 내서 썼어요.
    몇 블로그를 참조했으나 왕초보의 이해수준이고 이 수준의 상태를 알려드리고 더 이해 못 하는 분들에게 도움이 될까하여 글 올리니 수정 보완을 해 주시면 감사하겠고 무시하셔도 됩니다.
    육하원칙 - 1. 언제: 순서 2. 어디서: 식별자 등 표시 위치 3, 4. 누가 무엇을: 문장이나 함수 등에서 주체와 객체, 혹 손님, 행인 등 5. 어떻게: 같은 표식도 표시자(Punctuator)나 연산자(operator) 역할 등 6. 왜: 지정, 정의된 이유나 역할, 목적 등을 다시 설명하거나 실행절차 등을 설명
    ({[초보 특히 왕초보시에는 어떤 것을 몇분도 아닌 지금 막 듣고도 생각이 안나거나, 다른 것과 혼동되거나, 자신만의 엉뚱한 추측, 상상, 연결, 대입하거나, 갑과 을을 바꿔서 알아 듣거나, 순서를 바꾸거나, 비슷하거나 많이 달라도 같다고 하는 등으로 딴 소리하고, 심지어 맞는 말을 하면서 틀리다고 하거나 모른다고 하거나, 본인이 뭘 모르는지 혼동하는지 모르니 확인해 가시면서 답답해도 계속 반복해 주셔야 해요.
    오죽하면 낫 놓고 기역 자 모른다, 쥐어줘도 모른다 고 하겠어요. 알기까지, 알게 되기까지의 과정과 시간이 필요한가 봐요.]})
    학습자들은 누구나 스스로 곡해, 변경, 추측해서 오해하거나 모르겠다고 하는 경우들이 있는데 이를 줄이는게 중요하고, 작은 차이를 알아내고 그에 맞게 적용해야 하지요.
    해당 내용을 건성으로 시청하거나 읽고서 모르는 부분을 재시청하여 확인도 안 하고 질문을 올리는 무성의와 남의 생명인 시간을 허비하게하는 악행도 없애야 합니다. 그후에 확인이나 하는지 답답해요.
    2023년 8월 18일 금 21시44분 태평양 시간 1/3

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Год назад +1

      음...의견 감사합니다만
      저는 완전히 초보를 위한 콘텐츠를 개발하는 것과는 거리가 있는 편입니다. :)

    • @jaekunyoo8509
      @jaekunyoo8509 Год назад

      ​@@nullnull_not_eq_null
      안녕하세요. 답변 주셔서 감사합니다.

  • @손석호-i6o
    @손석호-i6o Год назад +4

    포인터 개념을 일반인들이 익숙한 엑셀에 비유하시니 굉장히 쉽게 이해 되네요! 역시 대단하십니다.
    C4 에 20을 넣고, E6에 =C4 라는 값을 넣으면 E6은 싱글포인터(*)가 되겠고, 이 상태에서 F6에 =E6 라는 값을 넣으면 F6은 이중포인터(**)가 되겠네요!
    아직도 포인터를 실제 코드에 활용함에 있어서는 많이 낯설고 헷갈리기는 하지만 정진하다 보면 익숙해지는 날이 오지 않을까 싶습니다.
    오늘도 좋~은 강의 및 말씀에 감사 드립니다~!!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Год назад +1

      네, 맞습니다. 그렇게 생각하면 2중 포인터가 되는 것이죠. 포인터에 대해 막연히 두려워 할 이유는 없습니다. 좋은 평가와 피드백 고맙습니다. :)

  • @woo-gm8dj
    @woo-gm8dj Год назад

    감사합니다!
    문과 복전생에 c언어를 모르는 상태에서 교수님이 c언어로 자료구조를 나가신다기에 당황했었는데...이 강의로 입문해보겠습니다!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Год назад

      헉! C언어는 알고 하셔야 합니다. 특히 포인터를 이해한 수준에서 진행하는 수업입니다. 참고하시기 바랍니다.

    • @woo-gm8dj
      @woo-gm8dj Год назад

      @@nullnull_not_eq_null c언어부터 빨리 보겠습니다...ㅠ

  • @user-te1lu2wz1u
    @user-te1lu2wz1u Год назад

    강사님 안녕하십니까 포인터를 선언할때
    자료형 * 이름 으로 선언하던데 *를 사용하게 된이유가있나요??
    주소를 다루는 변수면 &(변수명) 이여도 괜찮을거 같은데 혹시 그렇지 않고 참조연산자를 앞에 쓴 이유가 있을까요???

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Год назад

      애석하게도 그건 저도 모릅니다.
      아마도 이미 돌아가신 데이스 리치 선생님께서 아실 것 같습니다. 원하는 답변을 드리기는 어렵겠습니다. 이해해주세요. :)

    • @user-te1lu2wz1u
      @user-te1lu2wz1u Год назад

      @@nullnull_not_eq_null 감사합니당

  • @dydqka
    @dydqka 2 года назад +3

    정말.. C언어로 시작해서 그런진 몰라도 다른 매니지드 랭귀지를 공부하다 보면 포인터가 그립더군요..

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад +2

      그러니까요...가끔은 포인터 없이 어떻게 하겠다는 것인지 궁금하기도 합니다. ^^;;;;

  • @jongjinlee_
    @jongjinlee_ 2 года назад +10

    엑셀을 통해서 설명하실때 소름돋았습니다..!!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад +1

      자, 이제 포인터가 어렵다는 것은 핑계인 걸로~~~! ^^;;;

  • @user-te1lu2wz1u
    @user-te1lu2wz1u Год назад

    강사님 질문이 하나있습니다.
    float a =-10.625라는 숫자가
    unsigned t = *(unsigned*)&a 로 하면 부동실수 표현 방식그대로 비트가 넘어오지만
    그냥 unsigned로 형변환을 하면 비트가 바껴서 넘어오더라고요
    이게 포인터의 특성때문에 그런건가요???? 혹시 원리가 어떤원리인지 알려주실수 있으실까요. ㅠㅠ

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Год назад

      딱히 원리를 말할 것이 없이 정말 단순 무식하게 간단합니다. float형은 32비트 단정도 실수 표현형식 입니다. unsigned int와 메모리 크기가 같습니다. 그리고 Intel x86호환 프로세서를 사용할 경우 Little endian 방식을 사용합니다. 이 점을 고려하면 답이 나옵니다.
      그러나 unsigned int로 강제 형변환 할 경우 소수점 이하를 절사 시키고 정수 부분만 취하게 되는데 문제는 부호가 없는 형식이므로 부호가 있는 형식으로 바꿔서 출력해시기 바랍니다. 그리고 -10을 부호가 없는 정수로 출력했을 때 나오는 값과 비교해보면 이해해 도움이 되겠습니다. :)

  • @Developkim
    @Developkim 2 года назад +2

    시작이군요. 좀 더 반성하고 좀 더 각잡고 따라가겠습니다. 감사합니다

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      반성을 할 이유는 없을 것 같습니다. 저도 얼른 강의 촬영하겠습니다. ^^

  • @Leo-kr3ni
    @Leo-kr3ni 2 года назад

    정말인지 좋은 설명을 넘어서 통찰력이 엿보이는 것 같아요.

  • @eastino
    @eastino 2 года назад +1

    저는 금요일에 국비 과정이 끝나서 조금 여유가 생겼는데... 요렇게 또 ㅎㅎ 감사합니다!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      아하~~~! 잘 됐습니다. 이제는 자료구조를 열심히 공부하시죠. ^^

  • @jhd7130
    @jhd7130 2 года назад +2

    포인터는 어려운게 아니다.
    어떤 값의 주소를 담아 놓은 것 이다.
    타입이 같지 않으면 문제가 발생할 수 있다.
    자바개발자라 자바로 비교를 해봅니다.
    자바에서 new 연산을 하면 참조타입 변수에 객체의 주소가 담깁니다. Ide에서 객체의 타입과 변수의 타입이 동일하지 않으면 컴파일 오류를 보여줍니다.
    C에서는 기본타입변수도 주소를 담을 수 있다로 이해해도 될까요?

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад +1

      C에서는 엄밀히 말해 타입이 없는 것이 아닐까 싶습니다. 정말 기계적으로 주소를 담아버립니다. 자유도가 너무 높아서 제 멋대로 메모리를 해석하고 사용할 수 있습니다. 그러니 기본 타입변수도 주소를 담을 수 있는 개념이 아니라 주소는 다 담을 수 있습니다. 조소 조차도 그저 부호가 없는 정수형 데이터로 처리가 가능하니까요. 참고하시기 바랍니다.

  • @yjj-c2j
    @yjj-c2j 2 года назад +7

    엑셀로 설명하시다니 생각도 못했습니다. 잘 들었습니다.

  • @멍충의심장
    @멍충의심장 2 года назад +5

    개인적으로 오류를 내는 과정에서 재미를 더 느끼는 것 같아요... (저만 그런지는 모르겠지만) 오히려 누가 짜준 잘 되는 코드를 막 보고 공부한 것보다, 내가 이상한 짓해놓아서 망한 코드를 하나하나 고쳐가는 과정에서 늘게 되더라구요. 진짜 다음은 이런 바보짓 안할거라구... 여튼 이번에 수업 들으면서 그림 꼭 그리겠습니다! 지금도 다음 영상 보기 전에 스스로 C언어로 단일연결리스트 짜보고 있습니다!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад +2

      의견 감사합니다. 이미 자료구조 학습에 돌입하셨군요. 얼른 강의부터 제작하겠습니다. 감사합니다. ^^

  • @yhskrrrrrrr
    @yhskrrrrrrr 2 года назад

    포인터에서 햇갈린 여러 이유가 있지만 포인터 개념 자체보다는 다른 이유로 햇갈린게 많을것 같아요
    예로 자료형을 나타낼때 해석하는 방법을 몰라서 그런것도 있는 것 같아요
    가령 함수의 반환형이 int* 이라면 return값으로 int형의 자료를 담고있는 !(주소값)!을 반환한다
    그러니까 !(주소값)!을 반환하는 함수이다라고 봐야 안햇갈리거든요
    int* TestFunc(void)
    {
    int nData = 10;
    return &nData;
    }
    지역변수의 주소값을 리턴값으로 넘겨주는건 부적절하나 독한c에 나와있는 예시로 적어봤습니다

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      늘 그렇게 강의를 한다고 하긴 하는데...받아들이는 분들은 그것이 말처럼 쉽지는 않은 것 같습니다. 강사로써 늘 고민하게 됩니다. 의견 감사합니다. ^^

  • @김민호-f7c2w
    @김민호-f7c2w 2 года назад +1

    C로 펌웨어 하는 직장인인데 기초부터 자료구조 - 알고리즘 까지 공부해보려고 합니다 . 생각보다 제가 많이 부족하여 어려우겟지만 열심히 해보려고 구독과 재생목록 추가도 하였습니다 :)

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад

      결코 부족하지 않습니다. 그러니 걱정은 싹 비우시고 가벼운 마음으로 지하철 같은 곳에서 넘겨보시기를 권합니다. 그러다 필요하면 자세히 보면 되는 것이고요. 학습 여정을 응원합니다. ^^

  • @존미켈
    @존미켈 Год назад

    알고리즘 강의도 추후에 계획에 있으신가요..??!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  Год назад +1

      네, 있습니다. 하지만 우선순위가 다른 강의에 비해 많이 늦은 편이라 올해 하반기는 되어야 할 것 같습니다. 참고하시기 바랍니다.

  • @zero_to_full
    @zero_to_full 2 года назад

    와우 엑셀 비유는 정말 최고입니다

  • @realpotiny
    @realpotiny 2 года назад +6

    강사도 실수한다는 걸 굽히지 않으시고 말씀해주셔서 감사합니다.. 알고는 있었지만 직접 들으니 또 다르네요. 열심히하겠습니다^^ 그리고 엑셀로 포인터 비유하신게 기발하시네요 평소에도 계속 어떻게하면 전달이 쉬울까 생각하시 것 같아요.

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад +2

      직업병에 가깝지요. 강의를 계속하고 있다보니 어떻게 해야 쉽게 설명할 수 있는가에 대한 고민은 늘 하고 있습니다. 그리고 강사님들도 실수 자주 합니다. ^^;;;; 감사합니다.

  • @deniapark761
    @deniapark761 2 года назад

    영상 초반에 말씀해주시는 다중 포인터 사례는 정말 공감이 가네요.
    저도 전에 이중 포인터를 쓴 코드를 보고 내가 그때 왜 이렇게 짰을까 ? 한참 생각을 하게 되고 코드 이해한다고 힘들었던 생각이 나네요 ㅎㅎ
    덕분에 좋은 영상 잘 보고 갑니다. 감사합니다.

  • @시간증폭
    @시간증폭 2 года назад

    열심히 따라가 보겠습니다!

  • @장하영-x1f
    @장하영-x1f 2 года назад

    20221014
    Pointer vs Excel
    Pointer -> 값에 다른 변수 주소를 가리키도록(pointer)해서 참조하기
    그림을 그려라

  • @qwer20769
    @qwer20769 2 года назад +1

    좋은 강의 감사드립니다!

  • @ShrimpSolar
    @ShrimpSolar 2 года назад +4

    정말 감사합니다.

  • @andodesjoke8742
    @andodesjoke8742 2 года назад

    강의 잘 보았습니다.

  • @sungjuyea4627
    @sungjuyea4627 2 года назад

    엑셀의 재발견 ㅋㅋㅋㅋㅋㅋ

  • @4song997
    @4song997 2 года назад

    강의 감사합니다..!! 오... 박제해주세요!!!!!!!!!!!!!

    • @nullnull_not_eq_null
      @nullnull_not_eq_null  2 года назад +1

      얼른 숙제를 내야겠습니다. ^^

    • @4song997
      @4song997 2 года назад

      @@nullnull_not_eq_null 오... 감사합니다!

  • @김주영-x1c
    @김주영-x1c 2 года назад +4

    좋아요! 👍

  • @원용재-f3o
    @원용재-f3o 2 года назад +3

    ㅋㅋㅋ넋두리 꿀맛

  • @하성호-h4b
    @하성호-h4b 2 года назад

    감사합니다.

  • @ryanlee5435
    @ryanlee5435 2 года назад +3

    1빠

  • @1Q81725
    @1Q81725 2 года назад +2

    2빠