- 主题:有办法求含有\0的字符数组的长度嘛?
还有 char a[x] 这样的用法?
我以前学的只能这样用:
#define BUFLEN 1024
char a[BUFLEN];
能使用不预先赋值的变量 x 来开数组吗?
【 在 z16166 的大作中提到: 】
: C的动态数组有两种,一种在堆上,就是malloc得到的,一种在栈上 char a[x];
--
FROM 216.240.30.*
可以的吧:
#define NELEMS(array) (sizeof(array) / sizeof(array[0]))
【 在 e729 的大作中提到: 】
: 首先这个数组在C程序里没有存在的意义。
: 其次,既然是数组,那用户自己应该知道它的长度。如果不知道长度,又不知道结尾的标志,难么,没人能计算它的长度
--
FROM 216.240.30.*
难怪,没学过新标准。
谢谢分享。
【 在 z16166 (Netguy) 的大作中提到: 】
: 可以的,栈上的变长数组Variable Length Arrays (VLAs),C99的内容
:
: 不过大数组一般不推荐在栈上,容易栈溢出
:
--
FROM 136.56.52.*