鉴于此代码:
int *p, *q;
p = (int *) 1000;
q = (int *) 2000;
Run Code Online (Sandbox Code Playgroud)
是什么q - p以及如何?
在这个线程中,它用于&x + 1确定一些随机struct x的大小.我想知道为什么这是一个合法的解决方案?这会导致分段错误吗?
我的理解是只要&x + 1保留在当前线程可访问的内存中,它就可以了,但是如果&x + 1以某种方式尝试访问超出其允许范围的内存,则会导致seg错误,是吗?
这里我们有sizeof运营商C.它返回数据类型的大小,
printf("%d",sizeof(some datatype));
Run Code Online (Sandbox Code Playgroud)
结果是4(取决于OS).
我想知道它是如何计算的.这个运营商背后的逻辑是什么?如果我请你为sizeof运营商编写代码.你的答案是什么?
注意:我想知道如何sizeof编写代码,以便能够计算大小.
我可能无法正确地提出我的问题,我在这里再试一次.
Write one function which we can use instead of sizeof operator.