sizeof가 말을 안들어요...^^;

sadrove의 이미지

void write_log(char *addr, char *md5_addr, int hit)
{	
	printf("addr : %d\n", sizeof(addr));
	printf("%s\n", addr);

위 소스의 출력결과는

Quote:

addr : 4
www.daum.net

입니다.. 여기서 sizeof 결과가 왜 4가 나올까요..
'\0' 포함해서 13 이라고 나와야 될 것 같은데..
어케 해도 계속 4만 나옵니다..
sizeof() 사용법이 틀린걸까요..ㅠ.ㅠ...
도움 부탁드립니다...
Necromancer의 이미지

sizeof(char *)를 하신거 같군요.

한종류의 문자열이라면 sizeof("xxxxx")로 하시던지

여러가지 문자열 길이 체크한다면 strlen()만 가능하고요.

Written By the Black Knight of Destruction

버려진의 이미지

char *addr;
printf("%d\n", sizeof(addr));
이리 하면 addr이라는 포인터의 크기 4가 나오죠. (원하신게 이건 아닐테죠?)

sadrove의 이미지

strlen()을 생각못했네요..
감사합니다..꾸벅..