c语言中,如果一个数组在定义时没有定义长度,这个数组在内存中怎么分配地址,数组名代表的指针指向哪里

如果没有赋值,把它当做参数传入其他函数运行,要怎样进行非空验证,网上有两种方式:(1)str[0]!='\0';(2)strlength(str)!=0;对这两种方式感觉... 如果没有赋值,把它当做参数传入其他函数运行,要怎样进行非空验证,网上有两种方式:(1)str[0] !='\0';
(2)strlength(str) != 0;
对这两种方式感觉有点想不明白,对于没有赋值的数组,难道就已经分配了内存了吗,并且它的首字符的值是‘\0’?如果这样的话,分配的内存大小又是多少呢?
展开
 我来答
野人无事不言L
2016-12-09 · TA获得超过1413万个赞
知道顶级答主
回答量:2242万
采纳率:0%
帮助的人:144.5亿
展开全部
c语言是高级语言,定义数组的指令会转换成分配内存的指令,至于有没有为这块内存初始化,则是取决于编译器的实现。
你这个实验做得很好,可以通过你这个实验了解到编译器是如何实现的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式