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: ★ 構造体 struct Hoge { int val; }; が定義されているとき、Hoge へのポインタ ptr を宣言するには?
Hoge *ptr;
Hoge &ptr;
Hoge ^ptr
Hoge *ptr();
Q2: ★ char *ptr = (char *)0x100; char *ptr2 = --ptr; を実行した後の、ptr2 の値はいくつ?
0x0fc
0x0fe
0x0ff
0x100
Q3: ★ char **ptr; が宣言されているとき *ptr の型は何?
void 型
char へのポインタへのポインタ
char
char へのポインタ
Q4: ★ char *ptr; の指す先が '\0' と等しいかどうかを判定するのは?
if (*ptr == '\0') { ... }
if (&ptr == '\0') { ... }
if (ptr[] == '\0') { ... }
if (ptr == '\0') { ... }
Q5: ★★ char *ptr1; char *ptr2; があるとき、それぞれのポインタの指す先のデータを交換するコードはどれ?char t; は宣言済みとする。
t = *ptr1; *ptr2 = *ptr1; *ptr1 = t;
t = *ptr1; *ptr1 = *ptr2; *ptr2 = t;
*ptr1 = *ptr2; t = *ptr1; *ptr2 = t;
*ptr2 = *ptr1; t = *ptr1; *ptr1 = t;
Q6: ★ char *ptr = (char *)0x100; char *ptr2 = ++ptr; を実行した後の、ptr2 の値はいくつ?
0x100
0x101
0x102
0x104
Q7: ★ short *p1 = (short *)0x100; short *p2 = (short *)0x110; の時、p2 - p1 の値はいくつですか?
2
8
4
16
Q8: ★★ char *ptr が文字列を指している時、指している先が半角空白またはタブならポインタを進める最も簡潔なコードは以下の中でどれ?
while (*ptr++ == ' ' || *ptr++ == '\t') {}
while (*ptr++ == ' ' || *ptr == '\t') {}
while (*ptr == ' ' || *ptr++ == '\t') {}
while (*ptr == ' ' || *ptr == '\t') ++ptr;
Q9: ★★ int型で引数無しの関数(例:int foo())へのポインタ型 func_t を typedef で定義するコードはどれ?
typedef int () func_t;
typedef int (*func_t)();
typedef int () *func_t;
typedef int *func_t();
Q10: ★ char b[] = {1, 2, 3, 4}; int *ptr = (int *)b; 実行後の *ptr の値はなにか?
0x04030201
0x01020304
0x02010403
0x03040102


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

最近10人の平均点:4.4
4 5 5 6 2 1 6 6 2 7 (latest)
最近100人の平均点:4.7
最近1000人の平均点:4.9
過去全部(3630人)の平均点:5.1

満点獲得者名と記念コメント:
17/01/21 15:57 名無し さん
17/01/20 13:56 名無し さん
17/01/19 04:25 名無し さん
17/01/17 22:08 名無し さん
17/01/17 08:09 名無し さん
17/01/16 01:00 名無し さん
17/01/14 14:03 名無し さん
17/01/13 15:37 名無し さん
17/01/12 14:44 名無し さん
17/01/11 22:17 名無し さん
17/01/10 07:31 名無し さん
17/01/08 13:03 名無し さん
17/01/08 00:46 名無し さん
17/01/06 11:01 名無し さん
17/01/04 22:47 名無し さん
17/01/03 16:36 名無し さん
17/01/03 02:27 名無し さん
17/01/01 22:55 名無し さん
16/12/31 22:40 名無し さん
16/12/30 16:34 名無し さん

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

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