我正在编写一个小型 C 程序来进行一些数字运算,它需要在函数之间传递数组。这些函数应该接受并返回指针,对吧?
例如,这个(我知道这可能不是最有效的事情):
int* reverse(int* l, int len) {
int* reversed = malloc(sizeof(*reversed)*len);
int i, j;
for (i = 0, j = len-1; i < len; i++, j--) {
reversed[j] = l[i];
}
return reversed;
}
我使用指针正确吗?
您的代码片段是正确的。然而,C中的指针和数组确实是不同的。简而言之,“指向 T 类型的指针”与“T 类型的数组”不同。
请看一下C Faq讨论指针和数组以更好地理解这一点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)