|
|
1
97
当你增加一个
记住这一点:
当我增加指针时,哪个更有意义?这是:
或者:
最后一个并没有指出
如果你
真的?
要移动一个字节,请增加一个
由此推论,你不能增加
|
|
|
2
8
指针增量基于指向的类型的大小。如果int是4个字节,则将int*递增1将使其值增加4。 如果short是2字节,将short*递增1将使其值增加2。 这是C指针算法的标准行为。 |
|
|
3
2
如果指针指向char,
第一次遇到它时可能会感到困惑,但实际上这很有意义,这不是一个特殊的处理器特性,而是编译器在编译期间计算出来的,所以当您编写
|
|
|
4
1
其思想是,递增之后,指针指向内存中的下一个int。因为int是4字节宽的,所以它会增加4字节。通常,指向类型t的指针将增加sizeof(t) |
|
|
5
1
正如你所说,一个
考虑一下-如果指针只增加1个字节,那么它将指向
例如,当迭代数组时,这种行为非常舒适。 |
|
|
6
0
指针指向内存中某物的开头。int占用4字节(32位),double占用8字节(64位)。因此,如果您存储了一个双精度数字,并且您希望在非常低的级别指向下一个可用的内存位置,那么指针wooud将增加8个字节。如果由于某种原因,您指向双精度值开头的+4字节,则会损坏它的值。内存是一个非常大的平面域,它本身没有良知,所以由软件来正确划分它,并“尊重”位于该域中的项的边界。 |
|
|
MaPo · Linux,设置锁定ICMP_过滤器选项 1 年前 |
|
Doohyeon Won · 内联函数上的奇怪现象?[关闭] 1 年前 |
|
|
Bobby · 复合字面值总是左值吗? 1 年前 |
|
9-Pin · C: 嵌套结构的堆栈内存分配 1 年前 |