ポインタ構造

ポインタを有する構造の場合

書式#include <stdio.hに> 構造体の男
{ char型 *の名前。
    int型の年齢; 
}。INT メイン()
{ 構造体人m = { " トム"20 }。
    printf(" 名前=%sの、年齢=%d個の\ nを" 、m.name、m.age)。
    リターン0 ; 
}


    


     

結果:

exbot @ Ubuntuの:〜/ wangqinghe / C / 20190714 $ gccのstruct.c -o構造体

exbot @ Ubuntuの:〜/ wangqinghe / C / 20190714 $ ./struct

名前=トム、年齢= 20

 

あなたはm.nameの値を変更した場合

書式#include <stdio.hに> 
する#include < 文字列の.h> のstruct 
{ 文字 * 名。
    int型の年齢; 
}。INT メイン()
{ 構造体人m = { " トム"20 }。
    strcpyの(m.name、" マイク" )。
    printf(" 名前=%sの、年齢=%d個の\ nを" 、m.name、m.age)。
    リターン0 ; 
}


    


     

exbot @ Ubuntuの:〜/ wangqinghe / C / 20190714 $ gccのstruct.c -o構造体

exbot @ Ubuntuの:〜/ wangqinghe / C / 20190714 $ ./struct

セグメンテーション障害(コアダンプ)

 

上記のエラー。

 

ポインタのビット配列を変更します。

する#include <stdio.hに> 
する#include < ストリング .H> 構造体男性
{ チャー名[ 256 ]。
    int型の年齢; 
}。INT メイン()
{ 構造体人m = { " トム"20 }。
    strcpyの(m.name、" マイク" )。
    printf(" 名前=%sの、年齢=%d個の\ nを" 、m.name、m.age)。
    リターン0 ; 
}


    


     

コンパイルして実行します。

exbot @ Ubuntuの:〜/ wangqinghe / C / 20190714 $ gccのstruct.c -o構造体

exbot @ Ubuntuの:〜/ wangqinghe / C / 20190714 $ ./struct

名前=マイク、年齢= 20

 

分析:

メモリ内の数値の定数を変更することはできません。

する#include <stdio.hに> 
する#include < 文字列・H> 
する#include <STDLIB.H> 構造体男性
{ CHAR * 名前。
    int型の年齢; 
}。INT メイン()
{ // 構造体人m = { "トム"、20}。構造体の男メートル。
    m.name = malloc関数(はsizeofCHAR)* 100 )。
    m.age = 20 
    strcpyの(m.name、" マイク" )。
    printf(" 名前=%sの、年齢=%d個の\ nを"


    


    
    、m.name、m.age)。
    リターン 0 ; 
}

コンパイルして実行します。

exbot @ Ubuntuの:〜/ wangqinghe / C / 20190714 $ gccのstruct.c -o構造体

exbot @ Ubuntuの:〜/ wangqinghe / C / 20190714 $ ./struct

名前=マイク、年齢= 20

する#include <stdio.hに> 
する#include < 文字列・H> 
する#include <STDLIB.H> 構造体男性
{ CHAR * 名前。
    int型の年齢; 
}。INT メイン()
{ 構造体男*のP = malloc関数(はsizeof構造体男性))。
    P - >名前=のmalloc(はsizeofCHAR)* 100 )。
    strcpyの(P - >名前、" トム" ); 
    P - >年齢= 30 ; 
    printf("


    


    名前=%sは、年齢=%d個の\ n "、P->名、P-> 年齢); 
    (Pフリー - > 名); 
    (P)フリー; 
    戻り 0 ; 
}

ポインタメモリストレージ:

exbot @ Ubuntuの:〜/ wangqinghe / C / 20190714 $ gccのstruct.c -o構造体

exbot @ Ubuntuの:〜/ wangqinghe / C / 20190714 $ ./struct

名前=トム、年齢= 30

 

終わり

おすすめ

転載: www.cnblogs.com/wanghao-boke/p/11183110.html
おすすめ