sizeof(buffer)
时间: 2024-06-11 13:03:21 浏览: 13
`sizeof(buffer)` 是一个运算符,它返回 `buffer` 的存储大小,即字符数组 `buffer[10]` 占用的字节数。在C++中,`sizeof(buffer)` 的结果是10,因为它包含10个字符的空间,即使数组未初始化[^1]。
然而,`memset(buffer, 0, sizeof(buffer))` 这一行代码会将整个 `buffer` 设置为0,包括所有存储的字符。注意,这并不会改变 `sizeof(buffer)` 的值,因为数组的大小并不取决于其内容,而是由声明时的长度决定。
如果你提供的是带数组长度的版本,如 `void f2(char buffer[], int len)` 或 `void f2(char* buffer, int len)`,函数会接受额外的参数 `len`,用于指定实际要操作的元素数量,而不是整个数组的大小。在这种情况下,`memset` 应该使用 `len` 而不是 `sizeof(buffer)` 来限制清除的范围。
相关问题
sizeof(*buffer)
根据提供的引用内容,`sizeof(*buffer)`表示指针`buffer`所指向的类型的大小。在引用中,`sizeof(buffer)`中的`buffer`是一个指针,因此`sizeof(*buffer)`实际上是指针所指向的类型的大小。如果`buffer`指向的是一个`int`类型的变量,则`sizeof(*buffer)`将返回`int`类型的大小。
getcwd(buffer, sizeof(buffer));
这是一个C语言中的系统调用,用于获取当前工作目录(Current Working Directory)的路径名并存储在buffer缓冲区中。其中,buffer为指向存储路径名的缓冲区的指针,sizeof(buffer)则表示缓冲区的大小,在此例中即为buffer指向的数组的大小。该函数的返回值为指向当前工作目录的路径名的指针,如果出现错误,则返回NULL指针。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)