/* ====================================================================== */ /** * 動的メモリ割り当てについてのプログラム * * 動的メモリ割り当ては取得するメモリがいくつかわからない時に * 使用されることが多い * このプログラムは名前を使ったテストプログラム * 名前を入力してそのサイズ分だけメモリを確保する単純なプログラム * * * 2012/09/16 ver1.0 基本形 */ /* ====================================================================== */ #include
using namespace std; //< 名前セッター関数 char* nameSet(void); void main(){ //< 名前格納変数 char *name = NULL; //< 関数内で入力した名前を取得 name = nameSet(); //< 表示 cout<<"名前 :"<
>name; //< 名前の長さ取得 + 1(\0) int nameSize = strlen(name) + 1; //< 動的メモリ割り当て(メモリ取得失敗時には強制終了) pName = (char*)malloc(nameSize); if(pName == NULL){ printf("メモリ割り当てエラー\n"); exit(-1); } //< 文字列のコピー strcpy_s(pName,nameSize,name); return pName; }