指针和数组在C中是否有任何不同?
发布时间:2020-12-16 04:52:23 所属栏目:百科 来源:网络整理
导读:我正在编写一个小程序来进行一些数字运算,它需要在函数之间传递数组.函数应该接受并返回指针,对吧? 例如,这(我知道它可能不是最有效的事情): int* reverse(int* l,int len) { int* reversed = malloc(sizeof(*reversed)*len); int i,j; for (i = 0,j = len
我正在编写一个小程序来进行一些数字运算,它需要在函数之间传递数组.函数应该接受并返回指针,对吧?
例如,这(我知道它可能不是最有效的事情): 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讨论Pointers& amp;数组,以便更好地理解这一点. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |