본문

[잡담] 책 산거 인증 [5]




(315557)
작성일 프로필 열기/닫기
추천 | 조회 817 | 댓글수 5
글쓰기
|

댓글 | 5
1
 댓글


(IP보기클릭)210.107.***.***

p[i]가 *(P+i)랑 동치일걸요? 아닌가?
21.12.27 14:44

(IP보기클릭)117.52.***.***

오잇스
예. 그런데. printf로 출력할때 (p+i)는 *를 붙이는데 왜 p[i]는 *p[i]라고 안 쓰는지 오히려 scanf로 값을 받을 때는 &p[i]로 배열에서 값을 받는 것 같이 쓰는지.. 이게 흰색과 백색처럼 표현만 다른 것인지..아니면 무언가 깊은 의미의 차이가 있는 것인지... 책도 마지막 장 밖에 안 남았는데...내가 이러려고 시작했나 자괴감 들고 괴롭네요 ㅎㅎ | 21.12.27 15:30 | |

(IP보기클릭)211.105.***.***

인민배우 심영
C언어 건들인지는 너무 오래되서 포인터 정확하게 기억 안나는데 나름 기억나는데로 설명이 쉽도록 써볼게요. 배열의 특이한 설정(?)과 포인터가 섞여서 헤깔리실 수 있어요. 1. 배열명은 해당 배열의 [시작 주소값]을 의미한다. 2. 배열명 + i 를 하면 배열 형태의 [크기값이 자동 적용되서 계산된다]. (char 형이면 i가 1씩 증가, int 형이면 i가 4씩 증가 이런식) 제 기억으로는 *는 값을 가져올 때 쓰는거고 &는 주소를 가져올 때 쓰는거로 기억합니다. 예를 들어 p[i]에 있는 "값이(value)" 1000이라 할 때, *p[i]를 쓰면 "메모리 주소 1000에 있는 값"을 가져와서 배열과 관련없는 쓰레기값이 나와서 이렇게 쓰면 안되는거고, &p[i]로 쓰는 이유는 p[i]는 이미 배열 특성상 주소가 자동으로 적용되어 해당 메모리에 접근한 값이잖아요? 그럼 거기 값을 가지고 있는 주소를(&) 가져 와야 해당 값이 입력되어 있는곳에 데이터를 입력 가능하겠죠? 반대의 경우를 보자면 &p[i] 대신, 주소만 쓰여있는 (p+i) 이렇게 써도 작동될거에요. scanf("%d", p+i); 이런식으로요. 즉, 배열은 특이하게 배열명이 배열의 시작 주소값을 의미하고 있어서 이로 인하여 (p+i)는 주소값을 의미하므로, &p[i]와 같다. { (p + i) == &p[i] } (p+i)는 주소값이기에, 해당 데이터에 접근하려면 *를 붙여서 *(p+i) 이렇게 접근해야한다. 고로 *(p+i)는 p[i]와 같다. { *(p+i) == p[i] } 잘못 기억하고 있는것일 수 있...진 않겠죠 ㅠㅠ? 나름 C언어 재미있어서 옛날에 한참 파고들었는데 잘못 기억하고 있는것이라면 죄송하면서 제가 너무 슬플거 같네요. 아무튼 이미 이해를 완료하셨을 수 도있지만 제 기억이 맞다는 하에 나름 최대한 이해하기 쉽게 적어봤습니다. 조금이라도 도움이 되시길 바래요. 이런 개념이 잘 잡혀있으면 이중이든 삼중이든 다 응용이라 별거 없으실겁니다. | 21.12.30 23:30 | |

(IP보기클릭)211.105.***.***

노엘 버밀리온
너무 오랜만에 C언어 공부하시는 분을 봐서 흥분해서 글을 길게 썻는데 혹시라도 제가 틀렸다면 말씀해주세요... 쪽팔림을 감수하고 반성하면서 나중에 다시 기회잡아 재공부 하겠습니다 ㅠㅠ | 21.12.30 23:34 | |

(IP보기클릭)59.16.***.***

노엘 버밀리온
답변 감사드립니다. 공부하다 보니 용어가 너무 혼동되어서 포인터는 포인터인데 배열은 [정수 포인터]라고 표현하기도 하고......union을 보니 예전 엔지니어 분들은 정말 메모리를 아껴(?)쓰려고 고생 많았겠구나...포인터도 그런 노력에서 나온게 아닐까...짐작만 하고 있습니다. 장문의 답변 감사드립니다. | 21.12.31 00:41 | |


1
 댓글





읽을거리
[PS5] 국산 게임의 별로서 기억될 칼, 스텔라 블레이드 (85)
[MULTI] 탐험으로 가득한 사막과 맛있는 메카 전투, 샌드랜드 (19)
[MULTI] 아쉬움 남긴 과거에 보내는 마침표, 백영웅전 리뷰 (44)
[MULTI] 고전 명작 호러의 아쉬운 귀환, 얼론 인 더 다크 리메이크 (17)
[게임툰] 자신만의 용을 찾는 여행, 드래곤즈 도그마 2 (50)
[게임툰] 공주의 변신은 무죄, 프린세스 피치 Showtime! (34)
[NS] 창세기전: 회색의 잔영, 기념사업의 끝 (157)
[MULTI] 개발 편의적 발상이 모든 것을 쥐고 비틀고 흔든다, 별이되어라2 (88)
[NS] 여아들을 위한 감성 영웅담, 프린세스 피치 Showtime! (49)
[게임툰] 해방군은 왜 여자 뿐이냐? 유니콘 오버로드 (126)
[MULTI] 진정한 코옵으로 돌아온 형제, 브라더스: 두 아들의 이야기 RE (12)
[MULTI] 모험의 과정이 각별한 경험으로 맺어질 때, 드래곤즈 도그마 2 (52)



글쓰기
공지
스킨
ID 구분 제목 글쓴이 추천 조회 날짜
118 전체공지 업데이트 내역 / 버튜버 방송 일정 8[RULIWEB] 2023.08.08
143 공지 게시판 이용자 프로그래밍 언어 설문 조사! (2차 설문 20/04/30~... (3) _ 식봉이는 식봉해 3 1495 2021.03.24
3 공지 [공지]프로그래밍 & 코딩 게시판 입니다. _ 식봉이는 식봉해 4 1928 2021.03.10
4799 질문 세가좋어 298 2024.04.12
4666 질문 공돌이인생 105 2024.03.29
3165 잡담 루리웹-1970043849 208 2023.12.18
710 질문 질풍비장의패 1 591 2022.11.30
707 질문 루리웹-3648796984 784 2022.11.23
691 잡담 루리웹-8641268934 2 709 2022.08.07
685 잡담 루리웹-4247021526 2 747 2022.07.25
647 잡담 루리웹-4746138650 682 2022.06.01
637 질문 키라 요시카게 1 743 2022.05.24
631 질문 우너무너 668 2022.05.14
597 질문 키라 요시카게 654 2022.04.03
527 질문 와이플 652 2022.01.14
526 질문 와이플 677 2022.01.13
525 질문 와이플 1 823 2022.01.13
522 잡담 인민배우 심영 879 2022.01.09
521 질문 인민배우 심영 731 2022.01.08
518 질문 오잇스 647 2022.01.05
514 질문 인민배우 심영 544 2022.01.02
513 질문 인민배우 심영 668 2021.12.31
512 질문 인민배우 심영 1036 2021.12.30
511 잡담 인민배우 심영 1 655 2021.12.27
509 잡담 salvare545 613 2021.12.27
508 강좌 _ 식봉이는 식봉해 4 1180 2021.12.27
507 질문 인민배우 심영 705 2021.12.25
500 잡담 인민배우 심영 1 817 2021.12.24
497 잡담 인민배우 심영 919 2021.12.16
495 질문 V1046R-MAHORO 1 510 2021.12.14
491 질문 인민배우 심영 715 2021.12.10
글쓰기 69개의 글이 있습니다.
1 2 3
게시판 매니저
X