전체 : 4,150,784 명
어제 : 0 명
오늘 : 0 명

c언어 포인터 질문입니다.

beginner | 2015.05.21 17:39 | 조회 860

포인터에 관련한 질문입니다.
char *My_strcpy(char*dest, const char *src)
{
 char *rec = dest;

 if (dest == (int)NULL || src == (int)NULL)
 {
  if (*dest != (int)NULL)
  {
   *dest = (int)NULL;
  }
  return NULL;
 }

 do
 {
  *dest++ = *src;
 }

 while (*src++ != (int)NULL);

 return rec;
}

strcpy함수를 구현하는건데

if문 의 조건에서 dest == (int)NULL 이거는 번지값이 NULL과 같은지 비교하는것 아닌가요? *dest == (int)NULL 이렇게 해야하는게 아닌지...
문자열 포인터라 그런가...
그런것 치고는 그 밑의 조건문에서는 *dest != (int)NULL 이라고 되어있고
이 두개의 차이점이 뭔가요?
포인터 개념이 잘 잡히지 않습니다 ㅜㅜ.

그리고 또 *dest++ = *src; 이부분에서 *dest값에 *src의 값을 대입한 후 그 번지값을 1 더하는건가요? *dest값을 1더한 다음 *src의 값을 대입하는게 아니고? 이부분도 이해가 잘 되지 않네요.

twitter facebook me2day 요즘
포인터 어렵지 않아요

char * dest ;

맨 앞의 숫자는 computer Memory address. 두번째 숫자는 해당 computer Memory안에 실제 들어 있는 address입니다.

Compile시, computer Memory address에, dest를 위한 address 할당 합니다.

여기서는 compiler가 0008 을 dest 포인터를 위한 메모리로 할당 했다고 가정 후 설명 드립니다.

&dest --> 8

dest ----> 0x1234

*dest ----'c'

 

0000

0004

0008       0x1234

00012

~~

~~

0x1234     'c'

03.16 11:05 | bspark1223님 | 신고 | 수정 | 삭제
댓글 0
입력상자 늘리기
댓글쓰기 - 로그인한 후 댓글작성권한이 있을 경우 이용하실 수 있습니다.

비밀번호 확인

댓글 등록시에 입력했던 비밀번호를 입력해 주세요.
1,283개(1/65페이지) rss
질문게시판
번호 제목 작성자 진행결과
1283 [프로그래밍]BobSoft Mini Delphi 언팩과관련하여..첨부파일 Jjse
1282 [프로그래밍]Themida 언팩 도와주실분 찾아요. 스플렌더
1281 [프로그래밍]언패킹 해주실분 asd1
1280 [프로그래밍]VMP 파일한개 언팩좀해주실분..사례합니다. plusia
1279 [프로그래밍]언팩좀 도와주세요 ㅠㅠ 철ol★
1278 [프로그래밍]응용프로그램 및 게임개발, 앱개발, 웹사이트개발,.. 미자양
1277 [프로그래밍]vmp 언팩 해주실분 토스트
1276 [프로그래밍]알집 비밀번호 찾기 문의! 백상민
1275 [프로그래밍]문의[1] 이리대삼
1274 [프로그래밍]웹서버에 exe파일을 링크 걸어 놓고 사용자가 클.. 무시기
1273 [기타]각종 패킹 풀어드립니다.[1] 곧미남
1272 [프로그래밍]HWID변경법[1] 나는너의
>> [프로그래밍]c언어 포인터 질문입니다.[1] beginner
1270 [프로그래밍]winhex의 offset주소가...[2] 설희사랑
1269 [기타]작업의뢰 고독남
1268 [프로그래밍]themida 상위버전 언팩 도와주실분 찾습니다 ..[1] 도와주실분
1267 [프로그래밍]themida 스크립트오류 문제점좀 찾아주십쇼 도와주실분
1266 [프로그래밍]themida파일 언패킹 해주실분 찾습니다[1] 도와주실분
1265 모바일[보안]저도 다운이 안되네요. 하얀백숙
1264 [프로그래밍]패킹 어떻게 하는건가요ㅠㅠ 잇힝