C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 可变长度数组的原型大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试编写一个在c中采用可变大小数组的函数. @H_450_2@void sort(int s,int e,int arr[*]){ ... }

它表示对于可变长度数组,它需要在函数声明中有界.那是什么意思?我正在使用Xcode 4.0,使用LLVM编译器2.0.

谢谢您的帮助.

解决方法

如果您没有使用C99可变长度数组,通常的解决方案是传入指向第一个元素的指针,以及要用于访问元素的任何索引.

这是一段打印出一系列数组的代码,类似于您尝试对其进行排序代码.

@H_450_2@#include <stdio.h> static void fn (int *arr,size_t start,size_t end) { size_t idx; for (idx = start; idx <= end; idx++) { printf ("%d ",arr[idx]); } putchar ('\n'); } int main (void) { int my_arraY[] = {9,8,7,6,5,4,3,2,1,0}; fn (my_array,6); return 0; }

这将输出4到6个元素(从零开始),给出:

@H_450_2@5 4 3

有几点需要注意.

>在该函数中使用my_array调用fn会自动将数组“衰减”为指向其第一个元素的指针.当您使用数组时,这实际上发生在大多数(并非所有)情况下,因此您不必显式声明&(my_array [0]).> C已经在标准库中内置了一个非常好的排序函数,称为qsort.在许多情况下,这就是你应该使用的东西(除非你有一个特定的算法要用于排序,或者你正在做家庭作业/自学教育).

大佬总结

以上是大佬教程为你收集整理的c – 可变长度数组的原型全部内容,希望文章能够帮你解决c – 可变长度数组的原型所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。