C:使用memcpy创建数组的数组

标签 c arrays

我正在尝试创建并填充数组的数组。这是我编写的代码:

int b[4] = {100, 100, 200, 300};
int a[2][4];

int main(){
    memcpy(a[0], b, sizeof(int));
    printf("%i", a[0][2]);

我应该得到200,但我却得到0...我该如何解决它?

最佳答案

你只从 b 复制一个 int。您需要将所有 b 复制到 a[0],如下所示

int b[4] = {100, 100, 200, 300};
int a[2][4];

int main(){
    memcpy(a[0], b, sizeof(b));
    printf("%i", a[0][2]);
}

关于C:使用memcpy创建数组的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43284903/

相关文章:

c - 如何在 C 中将 32 位整数转换为 64 位值

python - 如何使用不均匀子数组作为平铺来平铺一维 numpy 数组?

java - 打印Java数组的最简单方法是什么?

java - 如何有效地转置二维位矩阵

python - 如何在 Python 函数中返回左值?

c - 尝试构建字符串时出现换行

php - C 中 PHP vsprintf() 的等价物是什么?

java - 无法在 Java 中打印二维数组

javascript - 如何在reactjs中制作一个页面,该页面将保留在带有动态问题和选择的页面上?

c - 指针规范