본문으로 이동

미디어위키 1.45 안정화가 거의 끝났습니다. 다만 Flow 확장 기능 관련 이슈가 있어서 대체하는 작업을 수행할 계획입니다.

  1. 큰숲백과:청사진에서 위키 발전의 대략적인 방향성을 제시했습니다. 의견이 있으신 분은 큰숲백과토론:청사진에서 의견을 남겨주시면 좋겠습니다.
  2. 기능상의 오류로 지원하지 않고 있는 기능에 대해서는 큰숲백과토론:이슈 트래커에 요약했습니다. 참고하시기 바랍니다.
  3. 데이터베이스 덤프 받고싶으신 분은 큰숲백과 가입 후에 사용자토론:Bigforest에 의견 남겨주시면 ftp 주소, 계정, 비밀번호를 특수:EmailUser를 통해서 공개할 예정입니다.

작은숲:위키노트/초보자를 위한 C 언어 강의/함수의 매개변수로 넘어오는 배열의 끝 판별하기

큰숲백과, 나무를 보지 말고 큰 숲을 보라.

함수의 입장에서 보면 매개변수로 넘어오는 배열과 포인터는 같다고 볼 수 있다. 매개변수로 배열을 넘긴다는 것은 단지 그 시작 주소를 넘겨준다는 것에 불과하다. 이렇게 매개변수로 넘어온 배열, 즉 포인터를 통해서는 배열의 크기를 알지 못한다. 마찬가지로 포인터는 배열의 시작과 끝을 감지하지 못한다. 그렇다면 함수의 매개변수로 배열을 넘겨줄 때 어떻게 그 끝을 감지할 것인가? 여기에는 두 가지 트릭이 있다. 이를 이용해서 C 언어에서는 크기가 가변인 배열을 다루는 함수를 쉽게 만들 수 있다. 첫째, 함수의 매개변수로 배열의 시작을 가리키는 포인터와 함께 배열 크기를 동시에 전달한다. 이것은 크기가 가변인 배열을 다루는 가장 일반적인 방법이다. 둘째, 프로그래머가 특별히 약속된 표지를 배열에 해두는 것이다. 문자열의 널 종료문자 '\0' 같은 것이 그러한 표지의 대표적인 실례에 해당한다. 즉 처리하고자 하는 배열의 최후 요소에 '\0'과 같은 특별한 값을 둠으로써 함수로 하여금 배열의 끝을 감지할 수 있도록 하는 방법이다. 일반적으로 두번째 방법은 문자열 또는 문자 배열을 다룰 때 주로 쓰이고, 첫번째 방법은 그 이외의 크기가 변할 수 있는 일반적인 배열을 다룰 때 흔히 쓰인다.

이 작은숲 문서의 출처는 위키노트의 위키노트: 문서입니다.