私はプログラミングが初めてで、次の違いを理解しようとしています
A = (char * ) malloc(sizeof(char)*n);
と
A = (char * ) malloc(sizeof(char));
また
A = new char [n];
と
A = new char;
特定のデータ型のオブジェクトの数を指定しない場合、コンパイラがこのポインターに割り当てる既定のメモリは何ですか。
また、私が宣言するとき
A = new char [n];
cout << A[n+1];
セグメンテーション違反は発生しません。
配列に割り当てられたものを超えてメモリにアクセスしようとしているため、セグメンテーション違反は発生しません。