ホーム » スタッフ » 斉藤徹 » 構造体とポインタ

2004年4月
 123
45678910
11121314151617
18192021222324
252627282930  

最新の投稿(電子情報)

アーカイブ

カテゴリー

構造体とポインタ

今日は、午前が新入生歓迎会であったためか、欠席者が多い。 機械・電気の出身者は、プログラミングの基礎が弱いので、先週の構造体の解説 の続きを行う。 OOP的使い方ではポインタの利用が多いので、 簡単なポインタの解説も行う。 簡単な構造体と、set(),print()だけの例で、 FN 要素参照は、今週までは、(*p).member 書式の説明に留める。 /FN 呼び出し側が、直観的な呼び出しだけ、要素名が隠蔽化、データに処理を適用の スタイルにできることを示す。来週にはOOP用語を交えた説明を追加予定。

解説をしていると、M・E科では関数の利用も苦手みたい。 返り値や仮引き数・実引き数の話までせなあかんとは、おもわんかった。 FN 関数も使わずにプログラミングの授業で何を勉強してるんだろう….不思議だ… /FN この解説のなかで、値渡し、ポインタ渡しに加えて、参照渡しも説明。

struct Person {
char  name[20] ;
int   age ;
float height ;
} ;
void set( struct Person* p , char s[] , int a , float h ) {
strcpy( (*p).name , s ) ; (*p).age = a ; (*p).height = h ;
}
void print( struct Person* p ) {
printf( "%s %d %f\n" , (*p).name , (*p).age , (*p).height ) ;
}
int main() {
struct Person saitoh ;
struct Person mitsuki ;
set( &saitoh , "斉藤" , 39 , 172.3 ) ;
set( &mitsuki , "充輝" , 4 , 97.4 ) ;
print( &saitoh ) ;
print( &mitsuki ) ;
}