>> Read Reply from No. 11615 article  
RE: 포인터의 값을 이용한 에러 테스트.

등록 2000-11-16 02:47:00     조회 2
이름 원스몬(152번째 포켓몬)    

어렵지만 쉽게 설명드리겠읍니다.
 밑에 내용은
어셈블러와 씨를 밥먹듯이 넘나드는 사람은 안 햇갈리지만,
굉장히 알쏭달쏭하고, 긴가민가 한 내용임으로 잘 이해하셔야
합니다.
 cpu에 레지스터라는게 있는것은 누구나 아실것입니다.
요즘은 대부분 32bit 입니다.
 쉬운 이해요령..
 1. 리눅스에서 int형의 size는?    32bit
2. 리눅스의 int pointer의 size는? 32bit
3. 리눅스에서 char형의 size는?    8bit
4. 리눅스의 char pointer의 size는? 32bit
5. 위에서 공통점은? 1,2,4번이 똑같이 32bit다.
 그러므로, int형과 pointer형의 size가 같음으로 포인터는 int처럼
연산, 비교등이 가능합니다.
(어렵게 설명하면, cpu의 레지스터는 정수와, 포인터를 가리지 않습니다.
 그냥, 연산하거나, 비교할뿐.. 하지만, 실제명령어는 코드가 다릅니다.)
 실제로 밑의 예에서 fp는 어셈블러 상으로 정수처리됩니다.
   *** 글로 설명할려니 글발이 잘 안받아서 죄송합니다......
      저는 화이트보드 체질이레서... 자세히 설명하려면
      씨피유 구조랑, risc 와 cisc의 차이, cpu의 메모리 지정방식과
      명령어의 상관관계 등을 몽땅 설명해야되서....
 오늘의 결론 :  평범한 인텔의 32비트 씨피유의 포인터값은 어셈블러상으로는
               정수로 인식한다.
  : Linux Programming에 관한 책에서 에러처리에 대한 학습중에
: 제목대로.
: 포인터의 값을 이용한 에러 테스트에 대한 내용중에 궁금한 게 있어서 말입니다.
:
: 예제의 내용은.
:
: 1:   FILE *fp = fopen("myfile.dat", "r");
: 2:
: 3:   (fp == 0)  {  /* NULL Returned? */
: 4:     /* Open Failed: */
: 5:   }
:
: 입니다. 여기서 3행을 보면 fp라는 파일포인터를 정수값인 0과 비교하는 장면이
: 나오는데 포인터에는 메모리 번지값이 들어 있는게 이 값이 어떻게 정수인 0과
: 비교될수 있는지 궁금합니다.
: 코멘트 대로라면 포인터값이  0 이면은 null pointer라는 말 뜻이 되는것 같은데
: 진짜로 그런지 말입니다.
:
: 포인터에 대해 아시는 분 도움 좀 부탁드립니다.
:
: P.S>
: 여기는 경남 거제입니다. 시골이지만 여기서도 집에 리눅스깔아놓고 빡빡기는 사람이
: 있습니다. 감기 조심합시다. 여기도 추우니 북쪽은 오죽 춥겠습니까?
:
: --
: 홈페이지 www.chungnyul.com  --
이 곳에 서명을 적어주십시오.
   
      from 원스몬(152번째 포켓몬)
이름
암호


>> 관련글
11615 포인터의 값을 이용한 에러 테스트.  ninetwo  2000.11.15  ....
  답장 RE: 포인터의 값을 이용한 에러 테스트.  원스몬(152번째 포켓몬)  2000.11.16  ....
Register [ localhost 목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 3.11 초 ] 작업시간: [ 2.74 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1789717638
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.