- 416 名前:デフォルトの名無しさん mailto:sage [2010/03/19(金) 02:32:19 ]
- #include <stdio.h>
#include <stdlib.h> // 構造体 B typedef struct tagB { int max_size; char* buff; } B; // B を初期化する命令 void B_init( B* b ) { b->max_size=10; b->buff =(char*)malloc(sizeof(char) * b->max_size); } // B のメモリを10ふやす命令 void B_realloc( B* b ) { b->max_size += 10; b->buff = (char*)realloc( b->buff, sizeof(char) * b->max_size ); } // Bに char を一文字セーブする命令 ( B の buff が短かったら自動的に伸ばしてくれる ) void B_write( B* b, char c, int index ) { if( index >= b->max_size ){ B_realloc(b); B_write( b, c, index ); } b->buff[index] = c; } // Bから char を一文字ロードする命令 ( B の buff が短かったら自動的に伸ばしてくれる ) char B_read ( B* b, int index ) { if( index >= b->max_size ){ B_realloc( b ); B_read( b,index ); } return( b->buff[index] ); } void main() { B b; B_init( &b ); B_write( &b, 'A', 12345 ); printf("%c\n", B_read( &b, 12345 ) ); } おこられそう…w(^_^
|

|