C语言中定义数组时可以不定义长度吗,这样:uint8 array[]。看到一个函数的参数是这样定义的

 我来答
czy7812
2012-07-30 · TA获得超过2670个赞
知道小有建树答主
回答量:518
采纳率:88%
帮助的人:189万
展开全部
C语言中可以定义个数不确定的动态数组,但不是用uint8 array[];这样来定义的,这样会报错。定义个数不确定的动态数组必须先声明一个指针,然后用malloc为这个指针分配一段连续的空间,然后退出程序的时候要记得使用free释放这些变量空间,否则会造成内存泄露。
比如你要定义一个字符型的动态数组,可以先声明一个字符型指针:
char *CharNew;
然后在需要定义数组的时候,用下面语句开辟一定量的连续空间:
CharNew=(char*)malloc(10*sizeof(char));
这样你就可以像一般数组一样,用CharNew[1]来访问数组中的元素;
当退出程序时,你要使用:
free(CharNew);来释放数据空间。
poseidon_k
推荐于2018-04-10 · TA获得超过2580个赞
知道小有建树答主
回答量:1223
采纳率:0%
帮助的人:313万
展开全部
函数参数可以这样定义,表明该参数是一个数组的指针,至于数组有多少个元素可以不知道。
但是在程序段落中不可以这样定义,不知道有多少个元素,编译器就不知道到底要为这个数组分配多少内存,编译器会报错。
更多追问追答
追问
你的意思是作为函数参数时,会把它当作指针吗?
追答
是的,该参数的值为数组的首地址。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
CT_36
2012-07-30 · TA获得超过482个赞
知道小有建树答主
回答量:695
采纳率:0%
帮助的人:190万
展开全部
不能=。= 函数的参数是因为之定义他的形参而已,比如 int x啊的只是形式参数而已,只是告诉函数他的参数是什么类型额,以及如何在函数中调用
而你在正式使用的话一定要进行定义。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
thh6996
2012-07-30
知道答主
回答量:63
采纳率:0%
帮助的人:15.4万
展开全部
不可以的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式