一个简单sizeof的问题,希望不会难倒你!
我想大家都知道这两题的结果:
1.
char str1[] = "hello";
cout << sizeof(str1) << endl;
输出结果是:6
2.
char str2[5];
strcpy(str2, "hello");
cout << sizeof(str2) << endl;
输出结果是:5
但是,我查看了内存,实际上str1和str2都占了6个字节的内存,最后一个字节是0x00,为什么1和2的结果会不一样呢?
1.
char str1[] = "hello";
cout << sizeof(str1) << endl;
输出结果是:6
2.
char str2[5];
strcpy(str2, "hello");
cout << sizeof(str2) << endl;
输出结果是:5
但是,我查看了内存,实际上str1和str2都占了6个字节的内存,最后一个字节是0x00,为什么1和2的结果会不一样呢?
...全文
相关推荐
希望对大家有所帮助!
### 栈的操作示例代码中提供了一个简单的栈实现,包括两个基本操作:- **`push(int i)`**:向栈顶添加一个元素。- **`pop()`**:从栈顶移除并返回一个元素。
C语言sizeof与指针实战[源码]
一维数组的sizeof运算相对直观简单,而二维数组则稍微复杂。二维数组本质上是一个数组的数组,其大小取决于数组声明时各维度的大小。
php检测数组长度函数sizeof与count用法
希望本文所述能对大家在PHP编程中有所帮助。
C中sizeof()函数的精确解释
#### 总结公式对于任何结构体,我们可以总结出一个计算其大小的通用公式:\[ \text{sizeof(结构体)} = \text{offsetof(最后一个成员)} + \text{sizeof(最后一个成员
50.sizeof 计算数组元素个数.pdf
由于在同一个数组中,每个元素占用的内存大小是相同的,所以我们可以简单地用sizeof(arr)除以sizeof(arr[0])。


新手乐园
