Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C++;? 我尝试学习C++中的动态数组。对于integer,动态数组如下所示: int main() { int x; cin >> x; int *dynamic = new int[x]; //some codes delete [] dynamic; return 0; }_C++_Arrays_Dynamic_Struct - Fatal编程技术网

如何在C++;? 我尝试学习C++中的动态数组。对于integer,动态数组如下所示: int main() { int x; cin >> x; int *dynamic = new int[x]; //some codes delete [] dynamic; return 0; }

如何在C++;? 我尝试学习C++中的动态数组。对于integer,动态数组如下所示: int main() { int x; cin >> x; int *dynamic = new int[x]; //some codes delete [] dynamic; return 0; },c++,arrays,dynamic,struct,C++,Arrays,Dynamic,Struct,如何创建动态结构数组?我尝试了这个代码,但失败了 struct Phone{ char name[30]; char number[20]; } int main(){ int x; cin >> x; Phone *record; Phone *record = new Phone[x];// Code fails here } 我对动态数组很困惑。请帮帮我。谢谢。分配int和分配struct在语法上没有区别 你的语法是正确的。

如何创建动态结构数组?我尝试了这个代码,但失败了

struct Phone{
    char name[30];
    char number[20];
}

int main(){
    int x;
    cin >> x;

    Phone *record;
    Phone *record = new Phone[x];// Code fails here
}


我对动态数组很困惑。请帮帮我。谢谢。

分配
int
和分配
struct
在语法上没有区别

你的语法是正确的。您只需定义两次
记录
指针。删除第一个定义,您就全部设置好了(哦,在
struct{}
声明之后缺少分号)


<>请注意,现代C++可能更倾向于使用现有的STL容器(<代码>向量< /代码>或类似),而不是手动调用<代码>新< /COD>和<代码> DELL> []/COD>。我认为这是为了学习,而不是为了生产代码。

我还建议使用std::vector。这将为您节省很多问题和内存错误。只要做:

struct structName 
{
     ...
}

std::vector<structName> structVector;

实际的错误消息是什么?当我尝试输入记录[0]时,程序中断。名称和编号是什么让您认为仅仅因为类型更改就有两个
record
声明是必要的(或允许的)?我尝试了没有Phone*record的代码;shldn不是电话*记录=新电话;那么*record.name=something和*record.number=something?BTW号码应该是int型的吗?你能给我一个关于这个(特别是结构)的来源吗?我只会参考Stroustrup的“C++编程语言”,但是根据你的经验,你可能会寻找一本比较友好的书。
 structVector.push_back(structName{});