배열과 NULL 값에 대해서 질문좀 드리겠습니다 ㅠㅠ..

NoZero77의 이미지

제가 프로그래밍 처음 배울때 배열의 끝을 알리는값이 NULL 값이고 NULL 값을 만나는 순간 배열이 끝난다고 배웠는데요.

NULL 값이 0 으로 Define 되어있지 않습니까 ? ( NULL == 0 ? )

그럼 만약에 int test[3] = {0}; 이라고 하면 test배열의 [0] 번 요소부터 0이니까 배열이 바로 끝나버려야 정상이 아닙니까?.

하지만 당연히 그러지 않지요 ... 제 머리로 생각했을때 결국 NULL 은 0이 아니다 라는 결과만 나오네요 ... 제가 놓치고 있는 그무언가가 도대체 뭘까요 ㅠ

jick의 이미지

> 제가 프로그래밍 처음 배울때 배열의 끝을 알리는값이 NULL 값이고 NULL 값을 만나는 순간 배열이 끝난다고 배웠는데요.

절대 그럴 리가 없는데요. "특정한 배열에서는 (예를 들면 main 함수의 인자로 받는 argv) 끝을 알리는 값을 NULL로 쓴다"라는 얘기를 잘못 이해하신 듯.

익명 사용자의 이미지

누가 어디서 배열의 끝이 NULL 이라고 하던가요?

문자열의 끝이 NULL 이면 몰라도....

mirheekl의 이미지


메모리를 초과해서 사용하지 않는다는 가정하에서, 배열의 바운더리를 0으로 정의해서 사용하는 데에는 아무런 문제가 없습니다. 단지 배열 내에서 0을 사용할 수 없게 될 뿐이지요.
실제로 문자열이 그렇게 하고 있습니다. 다만 언어 자체의 기능과는 무관하다 하겠습니다. 결론은 0을 배열의 끝으로 나름대로 정의하고 직접 관련 부분을 제대로 구현하면 상관없다는것.

결국 말씀하신 부분은.. 문자열이나 포인터 배열 처리 등과 혼동하셨거나, 누군가 그렇게 약속하고 구현해놓은 것을 보셨거나, 다른 랭귀지의 것과 혼동하신 게 아닐까 싶습니다. 허나 본인의 구현방식에 따라 얼마든지 가능하긴 합니다.

--

NoZero77의 이미지

확실히 제가 잘못이해하고 있었네요 !! 감사합니다 ㅜㅜ 많이 배워 갑니다 !!.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.