掲示板ランキング  塗り薬(クリーム)  塗り薬(軟膏)  塗り薬(液体)  塗り薬(チック)


掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板1

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧

No.7370

キャストについて
投稿者---grayyyy(2007/04/20 21:43:44)


掲示板、いつもお世話になっています。
C言語を習い始めたばかりです。
過去をみて重複しているか確認したんですけど、
解決できず、投稿しました。

色々な引き数を受け取って表示する”Disp”という関数を作りました。
だけど、,里箸海蹐如△匹Εャストしていいかわからず、
悩んでいたんですが、たまたま表示することができました。

どうしてこのようなキャストをすると表示できるか、
教えて下さい。

よろしくお願いします。

#include <stdio.h>
#include <string.h>

void Disp( int iflg , void *vDisp );

int main()
{
    int a;
    char cbuf[10];

    a = 1;
    memset( cbuf , '0' , sizeof(cbuf));

    printf("-------------------Start-------------------\n");

    printf(" a %d \n" , a );
    printf(" cbuf %s \n" , cbuf );

    Disp( 1 , &a );
    Disp( 2 , cbuf );

    printf("-------------------End-------------------\n");
    return(0);
}

void Disp( int iflg , void *vDisp )
{
    int b;
    char cwork[10];

    memset( cwork , '0' , sizeof(cwork));

    if( iflg == 1 ){
        b = *(int *)vDisp;
        printf(" vDisp  %d  \n" , *(int *)vDisp );----
        printf(" b  %d  \n" , b );
    }
    else if( iflg == 2 ){
        strcpy( cwork , (char *)vDisp );
        printf(" vDisp  %s  \n" , (char *)vDisp );----
        printf(" cwork  %s  \n" , cwork );
    }
    else{
        printf(" vDisp None  \n" );
    }
}




この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:キャストについて 7371 bugs 2007/04/20 22:32:02


No.7371

Re:キャストについて
投稿者---bugs(2007/04/20 22:32:02)


vDispは、「何型かはわからないけれど、とにかく何かの型へのポインタ」です。

最初の,任蓮
 ・vDispをint型へのポインタであるとみなす:(int *)vDisp
 ・vDispが指している領域の内容を参照する:*(int *)vDisp
の2段階に分けて考えるとわかりやすいかもしれません。

後の方の,任蓮
 ・vDispをchar型へのポインタであるとみなす:(char *)vDisp
という処理を行なっています。



この投稿にコメントする

削除パスワード

No.7379

Re:キャストについて
投稿者---grayyyy(2007/04/23 12:50:06)


bugsさん、ありがとうございます。
解決しました!!

分からないことは、細かく分けて
理解することも学びました。

本当にありがとうございました!


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧





掲示板提供:(有)リアル・インテグリティ