我是编程的新手,我正在努力理解它们之间的区别
A = (char * ) malloc(sizeof(char)*n);
Run Code Online (Sandbox Code Playgroud)
和
A = (char * ) malloc(sizeof(char));
Run Code Online (Sandbox Code Playgroud)
要么
A = new char [n];
Run Code Online (Sandbox Code Playgroud)
和
A = new char;
Run Code Online (Sandbox Code Playgroud)
当我没有指定特定数据类型的对象数时,编译器分配给此指针的默认内存是多少.
当我宣布时
A = new char [n];
cout << A[n+1];
Run Code Online (Sandbox Code Playgroud)
它没有给我一个分段错误.
它应该不会给出分段错误,因为我试图访问超出为阵列分配的内存.