c语言获取数组长度(C语言char** 字符串数组长度如何获取)
本文目录
C语言char** 字符串数组长度如何获取
这个样子写出来的话,我个人估计,你是想写在函数里面作为参数吧,如果是这样的话,建议多加一个参数unsigned int len,用len把相应的长度传进来,毕竟给它分配空间的人肯定是知道长度的。就想一般的int main(int argc,char **argv)一样,argc就是参数个数
c语言中不知道数组长度的情况下,怎么申请空间
这种情况下,有两个解决方案。
1.如果仅仅是不知道大小,但知道上限。那可以以上限来声明数组变量。优点是程序大小编译时确定;运行时数组的内存空间从桟(stack)中分配;不用手动释放内存;速度快。缺点是会浪费空间。
2.否则就只能通过动态申请内存空间(malloc)的办法来解决问题了。可以设计数组满了后重新申请一个两倍长度的数组,然后把原数组复制过去,再把指针指向新的数组,最后释放掉旧的内存空间。优点是不用担心数组容量问题(题主提出的主要问题);不浪费空空。但缺点也很明显:操作复杂;内存从堆(heap)中分配,有可能不够用了;必须手动分配和释放内存;速度慢。
因为我仅围绕数组来回答。所以还是有更多解决办法的:可参考其他大神的方法,用其它数据结构。在此不再重复了。
更多文章:
eclipse下载tomcat插件(怎样在eclipse上安装tomcat插件)
2024年8月24日 12:05
fedora 下载(有什么办法可以让fedora的下载速度增快)
2024年7月22日 22:59
四分之一x的补码怎么求(计算机组成原理,的原码补码什么,求解现在这些题目都看不懂了)
2024年6月27日 07:54
java11(现在装Java13、Java11、Java8、哪个好)
2024年7月15日 16:28
安装java应该先安装什么软件(编写java程序需要安装哪些软件)
2024年7月14日 20:46
jq监听div滚动条(jquery怎么获取div的滚动条,或者怎么隐藏掉)
2024年8月28日 15:35
imfill函数的原理(求大神解释下matlab程序,关于运动目标检测的)
2024年7月31日 23:05
nullable object must have a value(field “bh“must have a value是什么意思)
2024年7月29日 00:00
linux系统安装需要分区吗(安装linux必须创建的两个分区)
2024年7月9日 12:51