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
-
C /C++ポインタとJavaリファレンス
ポインタ C、C ++プログラミング言語では、ポインタは別の変数のアドレスを保持する変数です。 例 #include <iostream> using namespace std; int main() { //int variable int i = 8; //pointer variable int * pI; //assign the address of i to its pointer pI = &
-
C / C ++でのアレイの減衰とは何ですか?
配列とポインタはC/C++でもまったく同じように機能します。しかし、いくつかの微妙な違いがあります。たとえば、sizeof演算子は2つでまったく異なる働きをします。ポインタ内の配列を変換する場合、 例 #include<iostream> int main() { const int a[] = { 2, 3, 5, 7, 11 }; const int* p = a; std::cout << ( sizeof(p) != sizeof(a) ); } 出力 これにより出力が得られます-