게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c언어 문자열 동적할당에 관해 질문드립니다.
게시물ID : programmer_10539짧은주소 복사하기
작성자 : 닭이너무좋아
추천 : 0
조회수 : 435회
댓글수 : 4개
등록시간 : 2015/05/28 21:48:50
옵션
  • 본인삭제금지
오유에서도 찾아봤는데 비슷한 글이 있으니 제가 찾는건 아니었고

구글에서도 열심히 찾아보려고 돌아다녀봤는데 제가 원하는 것을 찾지 못해서 질문드립니다.


char *ptr = (char*)malloc(sizeof(char) * 6)을 하면, heap영역에 6개짜리 문자열에 해당하는 공간을 할당하고,

ptr는 그 공간의 주소를 가리키는 것으로 알고 있습니다.

그런데 scanf("%s",&ptr)를 하면 string을 입력받아 ptr가 가리키는 공간에 문자열을 대입하는게 아닌것 같습니다.

이렇게 하면 ptr가 가리키는 위치가 "%s"의 값이 되어버려서, abc를 입력하면 ptr의 값이 abc가 되는 것이지,

ptr가 가리키는 공간의 값이 abc가 되지 않는 것 같습니다.

strcpy와 같은 함수를 사용하지 않고 ptr가 가리키는 위치에 직접 문자열을 넣을 수 있는 방법이 있을까요?


포인터 관련 공부를 하고있는데 정말 어렵네요 포인터라는거..
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호