ViVi Home > 技術文書 > ポインタ入門 > ポインタ4択問題集


 
Follow @vivisuke Tweet

 

pointer's boot camp は C/C++ のポインタを学習するための4択問題集です。
以下の10問の答えを選択し、画面下部の【採点】を押してください。
※ sizeof(void*) は 4、sizeof(int) は 4、sizeof(short) は 2 とする。
※ 文字エンコーディングは ASCII 、文字列は '\0' を終端とする。
※ バイトオーダはリトルエンディアンとする。

Q1: ★ short *ptr = (short *)0x100; ++ptr; を実行した後の、ptr の値はいくつ?
0x101
0x104
0x102
0x100
Q2: ★★★ 環状双方向リンクリスト構造体 struct Node { int val; Node *prev; Node *next}; と、Node *ptr1, *ptr2; があるとき、ptr1 の次に ptr2 を相互にリンクするコードはどれか?
ptr1->next = ptr2->next->next; ptr2->prev = ptr1->prev->prev;
ptr1->next = ptr2->prev; ptr2->prev = ptr1->next;
ptr1->next = ptr2; ptr2->prev = ptr1;
ptr1->next = ptr2->next; ptr2->prev = ptr1->prev;
Q3: ★★ 以下の中で明らかに間違っているコードはどれか?
for (int i = 0; i < len; ++i) { *(str + len - i + 1) = *(str + len - i); }
char *ptr = new char[100]; int len = strlen(ptr);
for (int i = 0; i < n; ++i) { sum += *data++; }
if (*ptr == '\\' && ptr + 1 < endptr ) ptr += 2;
Q4: ★ char *p1 = (char *)0x100; char *p2 = (char *)0x110; の時、p2 - p1 の値はいくつですか?
16
8
2
4
Q5: ★ char 型のデータ100個を new でアロケートするのは?
new char[100];
new char*100;
new char{100};
new char(100);
Q6: ★ int へのポインタへのポインタ pptr を宣言するには?
int *pptr*;
int **pptr;
int pptr;
int pptr**;
Q7: ★ int *ptr = (int *)0x100; ++ptr; を実行した後の、ptr の値はいくつ?
0x101
0x104
0x100
0x102
Q8: ★ char **ptr = (char *)0x100; ++ptr; を実行した後の、ptr の値はいくつ?
0x104
0x101
0x102
0x100
Q9: ★ char **ptr; が宣言されているとき *ptr の型は何?
char へのポインタ
void 型
char へのポインタへのポインタ
char
Q10: ★★ 2分木ノード構造体 struct Node { int val; Node *lhs; Node *rhs; }; があり、lhs以下の値 <= va l<= rhs以下の値 になるようソートされている時、木の内容を小さい順に表示する関数はどれ?
void print(Node *ptr) { if( ptr != 0 ) { print(ptr->lhs); cout << ptr->val; print(ptr->rhs); } }
void print(Node *ptr) { if( ptr != 0 ) { print(ptr->rhs); cout << ptr->val; print(ptr->lhs); } }
void print(Node *ptr) { if( ptr != 0 ) { cout << ptr->val; print(ptr->lhs); print(ptr->rhs); } }
void print(Node *ptr) { if( ptr != 0 ) { cout << ptr->val; print(ptr->rhs); print(ptr->lhs); } }


※ 問題は10問ランダムに表示されます。 総問題数:87

最近10人の平均点:4.3
6 3 8 5 4 7 3 0 0 7 (latest)
最近100人の平均点:5.3
最近1000人の平均点:4.7
過去全部(11871人)の平均点:5.0

満点獲得者名と記念コメント:
25/05/31 01:37 名無し さん
25/05/13 16:09 名無し さん
25/05/11 02:47 名無し さん
25/03/13 07:38 名無し さん
25/01/06 18:23 名無し さん
25/01/02 15:12 名無し さん
25/01/01 17:39 名無し さん
24/12/31 07:04 名無し さん
24/12/28 22:20 名無し さん
24/12/26 08:52 名無し さん
24/12/24 04:20 名無し さん
24/12/23 17:24 名無し さん
24/12/21 18:44 名無し さん
24/12/19 16:24 名無し さん
24/12/17 13:42 名無し さん
24/12/17 08:30 名無し さん
24/12/15 00:07 名無し さん
24/12/13 00:18 名無し さん
24/12/10 23:58 名無し さん
24/12/08 22:09 名無し さん

その他のジャンルの問題もあるよ:

Copyright (C) 2013 by N.Tsuda, All Rights Reserved.