|
1
13
这样做的目的是将数组强制转换为
然后,它添加四个字节,将其移到下一个值(稍后将对此进行详细介绍)。
然后它把它变成了一个
从技术上讲,此代码有三个方面存在错误。
第二个问题是演员阵容
最后一件事是格式说明符。整数的说明符是
有一个 第四个问题:代码很糟糕。这可能是为了学习,但是 讨厌 |
|
2
9
阵列:
在内存中的布局为(假设
分解表达式:
这是一种非常愚蠢的方法,因为它本质上是不可移植的(对于
|
|
|
3
2
它首先隐式地将数组a转换为指向其开头的指针。然后它将指针强制转换为char*并将值递增4。值4恰好与系统上的sizeof(unsigned)相同,因此实际上它从一开始就向前移动了一个元素n。然后它将地址强制转换为int*并读取它所指向的值(运算符*)。此结果值打印为无符号整数,这是因为int和unsigned的大小相同。 内存中静态2D数组的布局是这样的,所有元素实际上都以一维数组的顺序存储。 |
|
|
4
1
它可以容纳4个字符,每个字符是一个字节[在C语言中不是在Java/C语言中,等等]。 数组在内存中连续分配。将无符号数组视为char*时,需要将指针移动4步才能到达数组中的下一个无符号值。 |
|
|
5
1
首先,创建一个大小为3x4的2维阵列。
之后
将数组转换回int时,
|
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |