다음과 같은 코드에서 에러나 나는데 이유가 뭔지 알수가 없어요
#include <stdio.h> int main() { char string[50][50]; char **p; p = string; //이 줄에서 어떤 컴파일러는 에러를 또는 경고를 내보냅니다 }
제가 뭐를 잘 못 알고 있는건지 저런 문제가 생기더라구요
2차원배열이 2중포인터에 해당?하지는 않습니다.
즉, 2중포인터의 경우는 그계산법이 다음번지가 4바이트이후지만 2차원배열을 대입해두면.. 원하는곳으로 갈수 없습니다. 2차원배열은 4바이트이후는 이중포인터의 다음번지에 해당할리가 없죠..
따라서 에러가 나지 않는다고 하더라도 님이원하는결과를 얻을수 없게될겁니다.
----------------------------------------------------------------------------
http://www.cinsk.org/cfaqs/html/node8.html
텍스트 포맷에 대한 자세한 정보
<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]
2차원배열이
2차원배열이 2중포인터에 해당?하지는 않습니다.
즉, 2중포인터의 경우는 그계산법이 다음번지가 4바이트이후지만 2차원배열을 대입해두면.. 원하는곳으로 갈수 없습니다.
2차원배열은 4바이트이후는 이중포인터의 다음번지에 해당할리가 없죠..
따라서 에러가 나지 않는다고 하더라도 님이원하는결과를 얻을수 없게될겁니다.
----------------------------------------------------------------------------
http://www.cinsk.org/cfaqs/html/node8.ht
http://www.cinsk.org/cfaqs/html/node8.html
댓글 달기