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


 
Follow @vivisuke Tweet

 

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

Q1: 以下の空欄に数字(10進数)を入れなさい
short *ptr = 100; ptr += 3; 実行後の ptr の値はです。
int *ptr = 100; ptr += 3; 実行後の ptr の値はです。


Q2: int へのポインタを宣言し、変数 x のアドレスで初期化するコードを完成させなさい。
int x = 0;
int  ptr = x;


Q3: 文字列先頭文字を取り出す関数を完成させなさい。ただし、文字列が空の場合は '\0' を返すものとする。
char pop_front(char *str)
{
    char c = *str;
    if (c != '\0') {
        const char * = ;
        while ((*str++ = *ptr++) != '\0') ;
    }
    return c;
}


Q4: char データ100個分のメモリをアロケートし、char *ptr に格納するコードは?
char *ptr =  char;


Q5: 文字列をコピーする関数を完成させなさい。
void strcpy(char *dst, const char *src)
{
    while( (*++ = *++) != '\0' ) ;
}




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

最近10人の平均点:1.4
2 4 0 3 0 1 0 2 2 0 (latest)
最近100人の平均点:2.0
最近1000人の平均点:3.9
過去全部(1649人)の平均点:4.4

満点獲得者名と記念コメント:
17/05/23 13:13 名無し さん
17/05/23 03:37 名無し さん
17/05/20 06:56 名無し さん
17/05/19 17:43 名無し さん
17/05/16 23:02 名無し さん
17/05/15 01:20 名無し さん
17/05/13 07:06 名無し さん
17/05/10 03:56 名無し さん
17/05/06 03:09 名無し さん
17/05/03 03:11 名無し さん
17/04/29 19:45 名無し さん
17/04/26 03:31 名無し さん
17/04/22 05:15 名無し さん
17/04/18 11:26 名無し さん
17/04/15 16:28 名無し さん
17/04/11 12:32 名無し さん
17/04/08 23:27 名無し さん
17/04/06 11:55 名無し さん
17/04/03 02:58 名無し さん
17/04/01 11:17 名無し さん

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