相关疑难解决方法(0)

C指针算术

鉴于此代码:

int *p, *q;

p = (int *) 1000;
q = (int *) 2000;
Run Code Online (Sandbox Code Playgroud)

是什么q - p以及如何?

c pointer-arithmetic

13
推荐指数
2
解决办法
5573
查看次数

为什么&x + 1不会导致seg错误?

这个线程中,它用于&x + 1确定一些随机struct x的大小.我想知道为什么这是一个合法的解决方案?这会导致分段错误吗?

我的理解是只要&x + 1保留在当前线程可访问的内存中,它就可以了,但是如果&x + 1以某种方式尝试访问超出其允许范围的内存,则会导致seg错误,是吗?

c

3
推荐指数
2
解决办法
146
查看次数

sizeof运算符背后的逻辑

这里我们有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.

c operators sizeof

-6
推荐指数
1
解决办法
764
查看次数

标签 统计

c ×3

operators ×1

pointer-arithmetic ×1

sizeof ×1