뇌 마음 반반저장소

[42] const char의 *위치에 따른 다른 의미 본문

좌뇌/왕초보의 컴퓨터 언어 세계

[42] const char의 *위치에 따른 다른 의미

맹진저 2023. 1. 5. 05:15
728x90

자꾸 찾아보게 되서 따로 포스트로 빼서 만들었다. 질문의 시작이었던 원본은 아래의 포스트에. 👇

[42_libft] Part 1 (str 함수들1 strlen, strchr, strrchr, strncmp)

 

*흥미로운 점  : const char을 사용하는 이유는?

우리는 문자열을 건들지 않고 그냥 읽는 용으로 가져와서 숫자만 셀 것이기 때문이다. 그래서 우리의 데이터는 상수, 즉 const가 저장되는 곳인 데이터 영역에 쓰이면서 우리는 수정하거나 변경할 수 없다. const는 별이 어디에 붙느냐에 따라서 다른 의미를 가진다.

const char *s;
char const *s;

char * const s;

const char * const s;
char const * const s;
const char *s; s는 수정될 수 있으며, *s는 수정되지 않는다.
char const *s; 위와 동일한 의미
char * const  s; s는 수정되지 않고, *s는 수정될 수 있다.
const char * const s; s도 *s도 수정할 수 없다.
char const * const s; 위와 동일한 의미

!테스트 결과!

./main.out
how many letters in my line?
put somethin : I got the sexy brain ha!
strlen : 1
ft_strlen : 1
728x90
Comments