在时间和空间复杂性方面哪种方法更适合阵列声明?

时间:2018-01-31 06:30:27

标签: arrays pointers

我以两种方式宣布了数组。我想知道哪一个在时间和空间复杂性方面更好?

1 .int foo [3] = {10,20,30}; 2. int foo [] = {10,20,30};   要么 1. char * arr [3] = {“Anil”,“Sunil”,“Rohit”}; 2. char * arr [] = {“Anil”,“Sunil”,“Rohit”};

1 个答案:

答案 0 :(得分:0)

C / C ++标准没有对此进行定义。由编译器实现者决定两者中的哪一个(如果有的话)更快。很可能,现代编译器将这两个选项分别视为相等。

我认为效率问题只会出现,因为有问题的数组太大,程序员无法明确输入所有初始值。例如,如果您使用所有相同的值初始化数组,则可以考虑memset(foo, -1, SIZE),其中-1是您的值,SIZE是foo的条目数。