ViVi Home > 技術文書 > ポインタ入門 > ポインタ穴埋め問題集


 
Follow @vivisuke Tweet

 

ポインタ穴埋め問題集 は C/C++ のポインタを学習するため問題集です。
入力エリアに適切な(半角)文字列を入力し、画面下部の【採点】を押してください。
※ sizeof(void*) は 4、sizeof(int) は 4、sizeof(short) は 2 とする。
※ 文字エンコーディングは ASCII 、文字列は '\0' を終端とする。
※ バイトオーダはリトルエンディアンとする。
※ 文字列領域は充分な領域が確保されているものとする。
※ 特に指示が無い限り、ポインタが指す構造体のメンバを参照する場合は (*ptr).mbr ではなく ptr->mbr と記述しなさい。

Q1: int *ptr = new int; でアロケートしたメモリを解放するコードは?
 ;


Q2: 文字数を数える関数を完成させなさい。
int strlen(const char *str)
{
    int i = 0;
    for(; str != ; ++i) {
    }
    return i;
}


Q3: 以下の空欄に数字を入れなさい
char へのポインタ ptr1 をインクリメントすると、ポインタの値は増えます。
int へのポインタ ptr2 をインクリメントすると、ポインタの値は増えます。


Q4: 動的配列クラスのサイズ指定コンストラクタを完成させなさい。
class Vector {
public:
    Vector();
    Vector(int sz, int v = 0)
        : m_data()
        , m_capacity(sz)
        , m_size()
    {
        for(int i = 0; i < m_size; ++i)
            m_data[i] = v;
    }
    ~Vector();
private:
    int    *m_data;// アロケートされたデータ領域へのポインタ
    int    m_size;   // データ領域に入っている要素数
    int    m_capacity;// アロケートされたデータ領域サイズ、初期値:8
};


Q5: 空欄に字句を入れて、変数を正しく宣言しなさい。
const char ptr1 = "hello, world";
const char *table[] = {
    "foo",
    "bar",
    0
};
const char ptr2 = table;




※ 問題は5問ランダムに表示されます。 総問題数:42
※ 問題・解答に間違いがあった場合は、ツイッター or メール等でご指摘してくださると助かります。

最近10人の平均点:1.0
0 0 1 0 1 0 0 0 7 1 (latest)
最近100人の平均点:2.7
最近1000人の平均点:3.2
過去全部(3139人)の平均点:4.0

満点獲得者名と記念コメント:
19/08/19 12:21 名無し さん
19/08/12 02:47 名無し さん
19/08/07 22:37 名無し さん
19/07/13 09:51 名無し さん
19/07/05 21:00 名無し さん
19/07/05 20:19 名無し さん
19/06/21 14:13 名無し さん
19/06/12 03:30 名無し さん
19/06/07 20:42 名無し さん
19/06/03 08:23 名無し さん
19/05/30 12:06 名無し さん
19/05/26 02:41 名無し さん
19/05/24 11:05 名無し さん
19/05/17 16:35 名無し さん
19/05/17 09:04 uouo さん
 「C++むずすぎて草」
19/05/03 12:43 名無し さん
19/05/03 11:41 名無し さん
19/05/01 10:10 名無し さん
19/04/23 06:11 名無し さん
19/04/22 16:38 🐔 さん

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