可能重复:
如何查找sizeof(指向数组的指针)
我有以下代码
int myfunc(char *arr)
{
const int sizearr = sizeof( arr ) / sizeof(char);
}
Run Code Online (Sandbox Code Playgroud)
这会产生指针的大小,而不是我传递给函数的char数组[17]的大小.
我知道我可以使用strlen和解决该问题,但没有任何方式对字符*ARR指针转换回char数组[17]我传递给函数,以使用的sizeof(char数组[17]) ?
我需要在Windows 7 64位上操作64位地址,我现在正在使用类似的东西
BYTE m_myAddress[8];
Run Code Online (Sandbox Code Playgroud)
但如果我需要添加0x60到地址,它会变得非常棘手.我可以转换它,但我想问一下哪种数据类型最适合这个.
应该使用什么数据类型来存储64位地址?
为什么以下行
auto k = -10u;
Run Code Online (Sandbox Code Playgroud)
返回k = 4294967286?不应该强制转换 - 10符号到有符号整数?
我正在编写一个简单的代码来按顺序迭代打印二叉树,但我偶然发现了这个奇怪的调试步骤:

图像没有以任何方式进行photoshopped或修改,"locals"窗口显示两个指针都有不同的值,但在将它们与自身进行比较并且与NULL进行比较时,相等性返回true并且"Wat ??" 被打印出来,怎么样?
我错过了什么吗?
如果我把它重写为
if(pointer1 == NULL && pointer2 == NULL)
cout << "This won't be printed";
Run Code Online (Sandbox Code Playgroud)
它工作正常