2013年11月27日水曜日

開発環境

C実践プログラミング 第3版 (Steve Oualline (著)、 望月 康司 (監訳) (翻訳)、谷口 功 (翻訳)、オライリー・ジャパン)のⅡ部(単純なプログラミング)の13章(単純なポインタ)、13.1(ポインタ)、13.2(関数引数としてのポインタ)、13.3(constポインタ)、13.4(ポインタと配列)、13.5(ポインタを使用しない方法)、13.6(ポインタを使用した文字列分割)、13.6(ポインタを使用した文字列分割)、13.7(ポインタと構造体)、13.8(コマンド業引数)、13.10(プログラミング実習)、実習 13-2を解いてみる。

その他参考書籍

実習13-2.

コード

sample.c

#include <stdio.h>

int main()
{
    int size = 5;
    char* str_array[] = {
        "   c  ",
        "dart",
        " haskell ",
        "   python ",
        "     "
    };
    char * first(char *s);
    int i;
    for (i = 0; i < size; i++){
        char *str_ptr = str_array[i];
        printf("文字列: %s\n", str_ptr);
        char *c_ptr = first(str_ptr);
        printf("文字列中のスペース文字でない最初の文字へのポインタ: 0x%x\n",
           (int) c_ptr);
        printf("文字: %c\n", *c_ptr);
    }
    return (0);
}

char * first(char *s)
{
    while (*s == ' '){
        s++;
    }
    return &(*s);
}

makefile

CC=cc
CFLAGS=-g

sample: sample.c
 $(CC) $(CFLAGS) -o sample sample.c

clean:
 rm -f sample

入出力結果(Terminal)

$ ./sample
文字列:    c  
文字列中のスペース文字でない最初の文字へのポインタ: 0x43af09
文字: c
文字列: dart
文字列中のスペース文字でない最初の文字へのポインタ: 0x43af0d
文字: d
文字列:  haskell 
文字列中のスペース文字でない最初の文字へのポインタ: 0x43af13
文字: h
文字列:    python 
文字列中のスペース文字でない最初の文字へのポインタ: 0x43af1f
文字: p
文字列:      
文字列中のスペース文字でない最初の文字へのポインタ: 0x43af2c
文字: 
$

0 コメント:

コメントを投稿