首页 > 解决方案 > char* 的大小是多少?

问题描述

a 的大小是char*多少,或者我如何才能获得它的大小?会不会只是

sizeof(char)

或者

sizeof(char[])

我之所以这样问,是因为我正在尝试创建一个数据结构(队列)char*作为其数据类型,并且对于队列的初始化/创建,我需要将数据类型的大小作为参数传递。如果它是一个整数:

queue* q = createQueue(sizeof(int))

我将如何为 a 做这样的事情char*?像这样的东西会起作用还是我有错误的想法?我需要使用吗char**,但是我相信队列的实现需要更改,因为我正在遵循我在 GitHub 上找到的通用队列实现。

标签: cpointerscharsizeof

解决方案


char*是一个指针,因此具有与任何其他指针 ( int*, void*...) 相同的大小。在 64 位 CPU 上,指针大小为 8 字节。

你可以简单地写sizeof(char*)

https://onlinegdb.com/ySTtpNFSg


推荐阅读