게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c언어 포인터 연산
게시물ID : computer_59515짧은주소 복사하기
작성자 :
추천 : 0
조회수 : 5412회
댓글수 : 4개
등록시간 : 2012/09/17 17:41:11

#include

int main() {
 int arr[5]={1,2,3,4,5};
 int* ptr=arr;
 int i;
 for(i=0; i<5; i++) {
  *(ptr+i)+=1; //*(ptr+i)++;
  printf("%d", *(ptr+i));
 }
 return 0;
}
굵게 처리한 문장은 에러가 없는데그 옆에 주석처리한 문장으로 대체하면 컴파일 에러 뜨네요.
식이 수정될 수 있는 lvalue 여야 한다는데복합연산자로 1 더해서 다시 대입하는 것또한 식을 수정한게 아닌가요?
후위증가연산자랑 같은 행위인데 왜 이건 되고 저건 안되는지 모르겠습니다.



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