에러나고 궁금해서 이렇게 올립니다. 책대로 코딩했는데도 에러가 나네요..
문자열 복사 함수 만들다가..
visual c++ 사용하고 있구요(그래서 그런가??)
여튼, 코드는 아래와 같고요..
KOREA 로 정의된 문자를 string 에 복사하는 함수 My_strcpy() 구현입니다.
__________________________________________
1) #include <stdio.h>
2) #define KOREA "대한민국"
3) char* My_strcpy( char* dest, const char* src );
4) void main( void ) {
5) char string[100];
6)
7) My_strcpy( string, KOREA );
8)
9) puts( string );
10) }
11)
12) char* My_strcpy( char* dest, const char* src ){
14) if( dest == (int)NULL || src == (int)NULL )
15) { if( *dest != (int)NULL ) *dest = (int)NULL;
17) return NULL;
18) }
19) do
10) {
20) *dest++ = *src;
21) }
22) while( *src++ != (int)NULL );
23) return dest;
24) }
-----------------------------------------------------
궁금증1.
책대로 했는데 에러가 나네요
14번째줄 : error C2446: '==' : no conversion from 'int' to 'char *'
14번째줄 : error C2040: '==' : 'char *' differs in levels of indirection from 'int'
14번째줄 : error C2040: '==' : 'const char *' differs in levels of indirection from 'int'
포인터와 관련된것 같은데...머가 잘못된지는 모르겠네요. 에공~
궁금증2.
포인터의 일반적인 사용에 대해서 궁금한데요..
3번째줄처럼 함수자체가 포인터로 선언되는거와 그렇지 않은 것의 차이점이 뭔가요..^^;;
궁금증3
역시 포인터가 궁금한데요..(포인터는 아무래 공부해도 알쏭당쏭하네요~)
My_strcpy( char* dest, const char* src ) 이렇게 넘어온 'dest' 와 'src' 가
*dest 일때와 desc 일체 가르키는게 정확히 전자가 '문자'이고 후자가 '문자의 주소'인가요?
|