#include
int main() {
float arr[5] = { 1,2,3,4,5 };
float* ptr1 = &arr[0];
float* ptr2 = ptr1 + 3;
printf("%d %d %d",ptr2, ptr1, ptr2 - ptr1);
}
output: 14351756 14351744 3
뭐로 치환되고 어떤 순서로 연산하면 강조한 부분이 3이 되는거죠?
이해가 딸리네요 ㅠㅠ
#include
int main() {
float arr[5] = { 1,2,3,4,5 };
float* ptr1 = &arr[0];
float* ptr2 = ptr1 + 3;
printf("%d %d %d",ptr2, ptr1, ptr2 - ptr1);
}
output: 14351756 14351744 3
뭐로 치환되고 어떤 순서로 연산하면 강조한 부분이 3이 되는거죠?
이해가 딸리네요 ㅠㅠ
해당 댓글은 삭제되었습니다.
잘읽었어요 원소의 값으로 3이 나오는게 아니고
주소값 연산의 차가 3이 나와요 ㅠㅠ 원소를 12345가 아닌 10 20 30 40 50 으로 바꿔도 3이 나오네요
포인터 연산 총정리
https://youtu.be/cNSYf266BHE
- dc App
보시려나 모르겟는데 마지막 ptr2 - ptr1한거 (char*)ptr2-(char*)ptr1 해보실래요 - dc App