Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C/C++ 포인터 퍼즐?

<시간/>

포인터는 다른 변수의 주소를 저장하는 변수입니다. 포인터의 데이터 타입은 변수의 데이터 타입과 동일합니다.

이 퍼즐에서는 사용 중인 포인터의 크기를 알아야 합니다. 이 퍼즐은 변수의 크기를 질문하여 포인터에 대한 이해도를 확인합니다.

int의 크기는 4바이트이고 int 포인터의 크기는 8입니다. 이제 C++ 프로그래밍 언어로 다음 연습을 통해 실력을 테스트해 보겠습니다.

예시

#include <iostream>
using namespace std;
int main() {
   int a = 6 ;
   int *p = &a;
   int arr[5][8][3];
   int *q = &arr[0][0][0];
   int ans;
   cout<<"the value of a is "<<a<<endl;
   cout<<"predict the size of a ";
   cin>> ans;
   if(ans == sizeof(p)) {
      cout<<"Hurry! your prediction is right";
   } else {
      cout<<"Your Guess is wrong ";
   }
   cout<<"Now try this "<<endl;
   cout<<"arr is a 3D array"<<endl;
   cout<<"predict the size of arr ";
   cin>> ans;
   if(ans == sizeof(q)) {
      cout<<"Hurry! your prediction is right";
   } else {
      cout<<"Your Guess is wrong ";
   }
   return 0;
}

출력

the value of a is 6
predict the size of a 8
Hurry! your prediction is right
Now try this
arr is a 3D array
predict the size of arr 4
Your guess is wrong