(*str = p) vs (str = &p)

nhwang·2022년 2월 15일
0

GNL 과제 중

\n을 만날때까지 그냥 할당없이 쭈욱 담고나서 편하게 할당하면 되지 않을까로 생각하였음.

*str = buf[0] 방식으로 담기 시도하였으나 세그폴트
사실 굉장히 기본적인 내용인데, str은 선언만 하고 할당이없었으면
기본적으로는 null을 담게된다.

*str의 의미 자체가 >>> null이 가르키는 곳에 buf[0]을 담아라가 되어버림.

그러면 strcpy ,cat 등은 이런식으로 되었던거 같은데?? 라는 생각이 꼬리를 물어 원본을 보았는데
위의 함수들도 마찬가지로 *str은 불가함 (실제로 메인에서 사용되는 방식은 str[100]이렇게 주소를 무조건 가르키게 선언된 경우를 사용)

str[100]이런식으로 해서 str[index]접근하는 것은 가능하다.

때때로 *str로 가능하지만 이거는 선언될 때 우연히 널이 아닌 주소를 가르키게 초기화 된 경우일 뿐. 사용X

str = &p 이거는 그냥 주소자체를 담는것이니 충분히 가능하다.

profile
42Seoul

0개의 댓글