c - char* 的大小是多少?
问题描述
a 的大小是char*
多少,或者我如何才能获得它的大小?会不会只是
sizeof(char)
或者
sizeof(char[])
我之所以这样问,是因为我正在尝试创建一个数据结构(队列)char*
作为其数据类型,并且对于队列的初始化/创建,我需要将数据类型的大小作为参数传递。如果它是一个整数:
queue* q = createQueue(sizeof(int))
我将如何为 a 做这样的事情char*
?像这样的东西会起作用还是我有错误的想法?我需要使用吗char**
,但是我相信队列的实现需要更改,因为我正在遵循我在 GitHub 上找到的通用队列实现。
解决方案
char*
是一个指针,因此具有与任何其他指针 ( int*
, void*
...) 相同的大小。在 64 位 CPU 上,指针大小为 8 字节。
你可以简单地写sizeof(char*)
推荐阅读
- typescript - 离子通过 FormData 将图像上传到服务器
- join - 在 Azure Active Directory 中,PC 状态“已加入工作场所”与“已加入 AAD”是否不同?
- html - 编辑 element.style 的 css
- php - 在 Laravel 中调用关系的问题
- sql-server - 我忘了在下面的查询“select MONTH(2014-08-01);”中加上单引号 它返回 6 的答案。怎么会?
- r - 如何限制 R 中直方图的 x 轴并放大数据?
- c# - 如何计算 IFormFile 对象的校验和
- java - java:Spring Boot - Swagger2:未找到 HTTP 请求的映射
- c++ - C++ 指针复制重载
- python-3.x - 如何删除字典中的某些单词