我以两种方式宣布了数组。我想知道哪一个在时间和空间复杂性方面更好?
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”};
答案 0 :(得分:0)
C / C ++标准没有对此进行定义。由编译器实现者决定两者中的哪一个(如果有的话)更快。很可能,现代编译器将这两个选项分别视为相等。
我认为效率问题只会出现,因为有问题的数组太大,程序员无法明确输入所有初始值。例如,如果您使用所有相同的值初始化数组,则可以考虑memset(foo, -1, SIZE)
,其中-1是您的值,SIZE是foo的条目数。