文字列文字列は、*のtypedef charとして定義された文字列を使用して、Cで実装しました。
書式#include <stdio.hに> する#include <stdlib.h>に含ま する#include < 文字列の.h> のtypedef のchar * 文字列。 文字列 get_string(文字列); int型(メインのボイド) { 文字列名=(get_string " 何があなたの名前の\ nは?" ); printf(" こんにちは、%sの\ nは!" 、名); printf(" strlenを:%D \ N " 、strlenを(名前)); リターン 0 ; } 文字列 get_string(ストリングMSG) { int型 LEN = 8。 、 文字列 STR =(文字列)はmalloc(はsizeof(CHAR)* LEN); // 文字列のポインタのlenの長さの動的割り当て のchar * PTR = STR; // のSTRにPTRポインタによって チャーCH; intは、私は= 0を; のprintf(" %のS " 、MSG); しばらく(!(CH = getchar関数())= ' \ N- ') // サイクル受信バイト、ユーザーがキャリッジリターンに入るまで { * PTR ++ = CHを; //CH *次のアドレスとにPTR PTRポイントに割り当て ++ I 、 IF(I == LEN) // もし全長 { 文字列 TMP = STR; // TMPポイントSTR LEN * = 2 ; // 長二重 STR = (文字列)はmalloc(はsizeof(CHAR)* LEN); // STRリダイレクトA倍ダイナミックアロケーション長ストリングポインタ strcpyの(STR、TMP); // TMP文字がにコピーされるSTR PTR = STR +私; // ptrが今、i番目の文字のアドレスの新しいSTRを指す フリーとして(TMP); //は、メモリ空間を解放します = tmpにNULL; } } * PTR = ' \ 0 ' ; // 文字列ポインタは、最後の文字'\ 0'でなければなりません 戻りSTR; }