c언어 포인터 관련 질문이요 ㅠㅠ

c언어 포인터 관련 질문이요 ㅠㅠ

작성일 2023.11.25댓글 1건
    게시물 수정 , 삭제는 로그인 필요

#include<stdio.h>
void main() {
int b[3][2] = { {10, 20}, {30, 40}, {50, 60} };


int(*pointer)[2];
pointer = b;


printf("pointer = %d\n", (int)pointer);
printf("pointer+1 = %d\n\n", (int)(pointer + 1));


printf("*pointer = %d\n", (int)*(pointer));
printf("*(pointer+1) = %d\n\n", (int)*(pointer + 1));


printf("(*pointer)[0] = %d\n", (int)(*pointer)[0]);
printf("(*(pointer+1)[0]) = %d\n\n", (*(pointer + 1))[0]);


printf("*(*pointer) = %d\n", (int)*(*pointer));
printf("*(*(pointer+1)) = %d\n\n", *(*(pointer + 1)));


printf("*(*pointer) = %d\n", (int)*((*(pointer + 0) + 1)));
printf("*(*(pointer+1)) = %d\n\n", *(*(pointer + 1) + 1));
}


의 출력결과가 포인터 위치에 따라 다르게 나오는데 아직 개념이 부족해서 왜 그렇게 나오는지 궁금합니다.
자세히 설명해주실분 계십니까


#c언어 포인터 #c언어 포인터 예제 #c언어 포인터 배열 #c언어 포인터 개념 #c언어 포인터 사용이유 #c언어 포인터 함수 #c언어 포인터 변수 #c언어 포인터 문제 #c언어 포인터 연산 #c언어 포인터 크기

profile_image 익명 작성일 -

#include<stdio.h> int main() { int b[3][2] = { {10, 20}, {30, 40}, {50, 60} }; int(*pointer)[2]; pointer = b; printf("pointer = %d\n", (int)pointer); // {10,20} 이 저장된 메모리의 주소 printf("pointer+1 = %d\n\n", (int)(pointer + 1)); // {30,40} 이 저장된 메모리의 주소 printf("*pointer = %d\n", (int)*(pointer)); // {10, 20}이 저장된 메모리이고, // 10 이 저장된 메모리의 주소로 변환됨 printf("*(pointer+1) = %d\n\n", (int)*(pointer + 1)); // {30,40}이 저장된 메모리이고, // 30 이 저장된 메모리의 주소로 변환됨 printf("(*pointer)[0] = %d\n", (int)(*pointer)[0]); // {10,20} 의 첫번째 요소 10 이 저장된 메모리이고, // 10 으로 변환됨 printf("(*(pointer+1)[0]) = %d\n\n", (*(pointer + 1))[0]); // {30,40} 의 첫번째 요소 30 이 저장된 메모리이고, // 30 으로 변환됨 printf("*(*pointer) = %d\n", (int)*(*pointer)); // {10,20} 의 첫번째 요소 10 이 저장된 메모리이고, // 10 으로 변환됨 printf("*(*(pointer+1)) = %d\n\n", *(*(pointer + 1))); // {30,40} 의 첫번째 요소 30 이 저장된 메모리이고, // 30 으로 변환됨 printf("*(*pointer) = %d\n", (int)*((*(pointer + 0) + 1))); // {10,20} 의 두번째 요소 20 이 저장되 메모리이고, // 20 으로 변환됨 printf("*(*(pointer+1)) = %d\n\n", *(*(pointer + 1) + 1)); // {30,40} 의 두번째 요소 40 이 저장된 메모리이고, // 40 으로 변환됨 }

c언어 포인터 관련 질문입니다

... 안됩니다 ㅠㅠ 2차원 배열의 포인터는 다릅니다. int arr[4][4];는 쉽게 1차원 배열을 4개 가진 1차원 배열이라고 생각하면 됩니다. 따라서 ary+3의 경우 ary의 4번째...

c언어 포인터 관련 질문

포인터를 사용해서 구하는 것 까지만 알고 그 후 코딩을 못하겠어서 질문 올립니다 내공 100이요ㅠㅠ #define _CRT_SECURE_NO_WARNINGS #include...

C언어 포인터 관련 형변환 질문이

C언어 포인터 관련 형변환 질문이 있습니다 현재 컴퓨터구조 과목을... 메모리 주소와 메모리 값에 대한 변경을 설명해 주시면 감사하겠습니다.ㅠㅠ...

C언어 포인터 관련 질문입니다.

C언어를 공부하다가 포인터 관련 부분이 잘 정리가 안돼서 질문드립니다.... 이건 이거대로 또 이해가 잘 되지 않네요 ㅠㅠ 아직 개념이 확실히 잡히지...

c언어 포인터 관련 질문

... 변했어요ㅠㅠ 도와 주세요~독학중이라 어려움이... 포인터와 배열 사이에 깊은 관련이 있거든요... 지금... (*p)++ 이에 대해 질문하셨는데 (*p)++ 이건 v++와...

C언어 포인터 관련 질문입니다.

... 제발 도와주세요 ㅠㅠ 알려주시면 열심히 보고 배울게요. 코딩좀 짜주세요... [code]#include <stdio.h> void array_copy(int *a, int *b...