int cin_str(const char *str,char ch);
int main()
{
char mmm[15]="minimum";
int ms=cin_str(mmm,'m');
cout<
}
int cin_str(const char *str,char ch)
{
int count=0;
while(*str){
i(*str==ch)
count++;
str++;
}
return count;
}
하면 mmm안에 있는 m개수 세주는데
어떻게가능함
mmm을 매개변수로 넘겨주면 str이 배열도아닌데 mmm[0]주소만 가는거아님?
널문자가 나올때까지 포인터를 이동시켜주잖 - dc App
근데cin_str함수에는 mmm[0]주소만 간거아님?
string이 char*이고 이건 동적할당되는 char배열이라고 보면됨 - dc App
그래서 [] 쓸수있는거 - dc App
아니다 잠만 - dc App
char배열을 []쓰지않고 그냥 던져주면 포인터로 가게됨 ㅇㅇ - dc App
뭐가아니라는거임
cpp <string> 쓰는줄알았지 - dc App
char* mmm = (char)malloc(sizeof(char) * 15) 해주면 mmm[15] 선언한거랑 똑같음 초기화는 안했지만 - dc App
배열과 포인터는 유사한 거임 - dc App
(char*)malloc 어쩌구 ㅇㅇ - dc App
c++은char *mmm=new char아님?
c++도 malloc씀?
c스타일로 해봄 일단 쓸수는있음 - dc App
쉽게쉽게 할려면 #include <string> 박고 string mmm = "어쩌구"; 하고 string 매개변수로 받아서 for(int i=0;i<str.length();i++) 문 돌려서 if(str[i] == ch){ } 이렇게 하시오 - dc App
코드보면 지금 c스타일임 로우레벨함 물론 공부에는 좋지 ㅇㅇ - dc App
sizeof(char) 이 1이라는거 알고 str++한거지? 그러면 똑똑하네 - dc App
걍책예제에 있는거 물어본거임 근데 책에왜 c++스타일은없노
ㅇㅎ 과제인줄 ㅎㅎ - dc App
string쓰는게 c++스타일임?
ㅇㅇ 맞음 - dc App
주소만 갔지만, 그 주소에서 시작되는 연속된 메모리 공간에 존재하는 minimum\0 이라는 리터럴은 함수 스택이 어떻게 됬던간에 같은 공간에서 계속 존재하잖음? - dc App
ㅇㅋ