数组初始化:内存使用

时间:2014-05-24 10:01:31

标签: c arrays memory

CONTEXT

我正在研究数组定义。为简单起见,我的问题坚持使用char数组。 Debian 64bit。

问题

当我声明这些数组时,这是我的理解:

char d[10]; 

=>我得到10 * 1字节的内存使用。

char d[] = "hellofooo"; 

=> 9字节+' \ 0' => 10 * 1字节内存使用

char * d = "hellofooo";

=> 9字节+' \ 0'内存中的某处+指针的8字节(64位)

所以,如果我的理解是好的,那么当我们不知道char的大小时,我们应该总是更喜欢第二个解决方案[]来最小化内存消耗?

我的代码中不需要指针。只是想找到最有效的解决方案。

0 个答案:

没有答案