배열을 포인터처럼 쓰는게 절대 불가능한건가요? 예를들면 int a[10]; 이러면 a는 배열의 시작 주소를 가리킬텐데요. "배열의 시작 주소"를 저장하고 있는 공간의 주소를 알 수 있는 방법, 그리고 이를 조작할 수 있는 방법이 있나요?
C 관련 도서중에 쉬운책 몇권 보시면 좋습니다.
int a[10] a[0] = 1; a[1] = 2; a[2] = 3;
int *p = (int*) malloc (10); *(p+0) = 1; *(p+1) = 2; *(p+1) = 3; free(p); p = NULL;
---------------------------------------------------------------------------- 젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다. 정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
제 질문이 모호했나봅니다. 포인터를 배열처럼 쓰는것을 질문드린 것이 아니고 배열을 포인터처럼 쓰는 것을 질문드린 것이었습니다.
"배열의 시작 주소"는 변수가 아니고 상수이기 때문에 이를 "저장하고 있는 공간"이란 말은 의미가 없고, 시작 주소를 변경할 수도 없습니다.
아... 짐작은 했지만 역시 상수였군요. 답변 감사합니다.
이런거 원하시는 건가요?
int a[3] = { 0, 1, 2}; int * p = a; print("%d\n", p[1]); // print 1 ++p; print(%d\n", p[1]); // print 2
이론적인 것을 묻는 질문이라면 배열 외의 다른 데이터 타입과의 일관성을 생각해 보세요.
int i;
위 변수 i의 메모리 주소가 현재는 0x0010라면, 그럼 이 정수형 변수 i의 '시작 주소값'은 대체 어느 메모리 공간에 저장되어 있을까요? 이 변수 i가 0x0014를 가리키도록 변경할 방법이 C에 있나요?
텍스트 포맷에 대한 자세한 정보
<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]
가능합니다.
C 관련 도서중에 쉬운책 몇권 보시면 좋습니다.
int a[10]
a[0] = 1;
a[1] = 2;
a[2] = 3;
int *p = (int*) malloc (10);
*(p+0) = 1;
*(p+1) = 2;
*(p+1) = 3;
free(p);
p = NULL;
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
제 질문이 모호했나봅니다.
제 질문이 모호했나봅니다.
포인터를 배열처럼 쓰는것을 질문드린 것이 아니고
배열을 포인터처럼 쓰는 것을 질문드린 것이었습니다.
불가능합니다
"배열의 시작 주소"는 변수가 아니고 상수이기 때문에 이를 "저장하고 있는 공간"이란 말은 의미가 없고, 시작 주소를 변경할 수도 없습니다.
.....
아... 짐작은 했지만 역시 상수였군요.
답변 감사합니다.
이런거 원하시는 건가요? int a[3] = {
이런거 원하시는 건가요?
이론적인 것을 묻는 질문이라면
배열 외의 다른 데이터 타입과의 일관성을 생각해 보세요.
int i;
위 변수 i의 메모리 주소가 현재는 0x0010라면,
그럼 이 정수형 변수 i의 '시작 주소값'은 대체 어느 메모리 공간에 저장되어 있을까요?
이 변수 i가 0x0014를 가리키도록 변경할 방법이 C에 있나요?
댓글 달기