char *buff;とすればよい。
buff = (char*)malloc( sizeof(char) * 100 ); /* char型のデータ が100個入る分だけメモリを確保 */
if( buff == NULL ){
/* メモリ確保失敗 */
}
:
:
:
free( buff); /* 確保したメモリを解放する */
char *buff;上の例では、buffに代入されたmallocで得た戻り値の値を buff++ の部分で変更してしま っているからだ。buffの値を変更する分にはかまわないが、freeに渡す前に元の値に戻 す必要がある。ただ、一度変更したポインタを後で元に戻すのは面倒くさいので、たいて いは別のポインタ変数にアドレスを代入しmallocが返した戻り値は直接いじくらないように します。
int i;
buff = (char*)malloc( sizeof( char ) * 100 );for( i=0 ; i<100 ; i++ ){
*buff = '0';
buff++;
}free( buff );
char *buff,*work;
int i;buff = (char*)malloc( sizeof( char ) * 100 );
work = buff;for( i=0 ; i<100 ; i++ ){
*work = '0';
work++;
}free( buff );