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


 
Follow @vivisuke Tweet

 

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

Q1: 以下の空欄に数値を入れなさい
16進数の 0x100 を10進数に変換すると 。
16進数の 0x10000 を10進数に変換すると 


Q2: 環状双方向リンクリストの末尾ノードを返す関数を完成させなさい
struct Node {
    int    m_value; // ノードの値
    Node    *m_prev;// 前のノードへのポインタ
    Node    *m_next;// 次のノードへのポインタ
};
Node *lastNode(Node *root)  // root は環状双方向リンクリストの先頭ノードを指している
{
    return ->;
}


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


Q4: 双方向リンクリストのノードを連結する関数を完成させなさい
struct Node {
    int    m_value; // ノードの値
    Node    *m_prev;// 前のノードへのポインタ
    Node    *m_next;// 次のノードへのポインタ
};
// ptr1 の次に ptr2 を連結
void link(Node *ptr1, Node *ptr2)
{
     = ptr2;
     = ptr1;
}


Q5: 文字列末尾に文字を追加する関数を完成させなさい。
void push_back(char *str, char c)
{
     (*str != '\0') {
        ++str;
    }
    *str++ = c;
     = '\0';
}




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

最近10人の平均点:1.1
0 0 0 0 0 0 0 4 0 7 (latest)
最近100人の平均点:3.5
最近1000人の平均点:3.6
過去全部(2563人)の平均点:4.2

満点獲得者名と記念コメント:
18/08/14 20:21 名無し さん
18/08/09 02:45 名無し さん
18/07/29 07:50 名無し さん
18/07/18 17:30 名無し さん
18/07/18 06:28 名無し さん
18/07/13 09:08 名無し さん
18/07/13 06:19 名無し さん
18/07/12 13:38 名無し さん
18/07/10 00:23 名無し さん
18/07/04 04:59 名無し さん
18/06/30 14:04 名無し さん
18/06/23 02:42 名無し さん
18/06/19 15:01 名無し さん
18/06/16 02:17 名無し さん
18/06/15 10:16 名無し さん
18/06/15 02:23 名無し さん
18/06/10 17:39 ゆきにぃ さん
 「ヤッポー」
18/06/10 16:56 ゆきにぃ さん
 「ありがとうございます。」
18/06/07 04:40 名無し さん
18/06/03 19:47 名無し さん

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