小编And*_*ing的帖子

C - 分配指向数组的指针?基于四个例子

假设以下代码:

#include <stdio.h>
#include <stdlib.h>

int main (int argc, char **argv)
{
    int arrayXYZ[10];
    int i;
    int *pi;
    int intVar;
    for (i=0; i<10; i++){
        arrayXYZ[i] = i;
    }
    pi = arrayXYZ; // Reference 1
    pi++;          // Reference 2
    arrayXYZ++;    // Reference 3
    arrayXYZ = pi;  // Reference 4
}
Run Code Online (Sandbox Code Playgroud)
  • 参考1是正确的:pi指向arrayXYZ中的第一个元素 - >*pi = 0
  • 参考2是正确的:pi点递增的元素 - >*pi = 1
  • 参考文献3不正确:我不完全确定原因.每个整数都需要4位内存.因此,我们不能只增加一个数组头部的地址?假设,我们有一个char数组,其sizeof(char)= 1 - >数组的头部是否指向下一个桶?
  • 参考文献4不正确:我不完全确定原因.为什么数组的头部不能指向pi指向的地址?

谢谢你的所有澄清!我是新成员,所以如果我的问题没有遵循Stackoverflow指南,请随时告诉我如何改进我的下一个问题!

c arrays pointers

5
推荐指数
1
解决办法
62
查看次数

标签 统计

arrays ×1

c ×1

pointers ×1