게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[C 질문]포인터는 다른 포인터에서만 뺄 수 있습니다?
게시물ID : programmer_3499짧은주소 복사하기
작성자 : JesGaTen
추천 : 0
조회수 : 563회
댓글수 : 14개
등록시간 : 2014/05/25 16:47:42
옵션
  • 본인삭제금지
제가 뭘 모르고있는질 몰라서 자세히 질문을 못하겠네요... 죄송합니다


int a[50] = {0};

function(a);

void function(int *a[50])
{
int i;
int b;
int c;

for(i = 0 ; i < 50 ; i++)
{
c = b-a[i];
}
}






이런식으로 했는데...

b-a[i] 부분에서 에러가나네요;

에러 메세지는 "error C21113: '-' : 포인터는 다른 포인터에서만 뺄 수 있습니다." 이라고 뜨고요

그래서 조금 바꿨어요.







int a[50]

function(a);

void function(int *a[50])
{
int i;
int a2;
int b;
int c;

for(i = 0 ; i < 50 ; i++)
{
a2 = a[i]
c = b-a2;
}
}





이렇게하니까 되네요...

a 배열의 주소를 보내서 포인터로 받고, a[i]를 연산에 사용하려니까 첫번째 지문처럼 오류가납니다. ㅠ

그래서 두번째처럼 a2에 a[i]의 값을 넣어서 연산에 사용하니까 문제없이 되고요....

질문의 결론은... "포인터는 다른 포인터에서만 뺄 수 있습니다"가 무슨소리죠?

포인터로 불러온 배열은 연산에 이용 못한다는 소리인가요?


전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호