首页 > 解决方案 > 如何添加指针数组?

问题描述

我必须在这个文件中添加一个通过数组的指针来增加价值。有人知道如何在其中制作/更改数组吗?

#include <malloc.h>

int main() {

int nummers;


printf("Hoeveel nummers wilt u gaan invoeren?\n");
scanf("%i", &nummers);


int* input = (int*) malloc (sizeof(int)*nummers);


for (int i = 0; i < nummers; ++i) {
    printf("Nummer %d:", i+1);
    scanf("%d", &input[i]);
}

for (int i = 0; i < nummers; ++i) {
    printf("Nummer %d is: %d\n", i + 1, input[i]);
}

free(input);
}

上面是我当前的代码,它已经可以工作了,只有指针数组必须添加或更改。在此处输入图像描述

上面这张图片必须是最终结果Apreciate帮助。

标签: arrayscpointers

解决方案


很难理解你的意思,但可能你问的是指针算术。

在 c 语言中*(pointer + i)===pointer[i]pointer + i ===&pointer[i]所以你的代码使用指针算法而不是索引:

int* input = malloc (sizeof(*input)*nummers);

for (int i = 0; i < nummers; ++i) {
    printf("Nummer %d:", i+1);
    scanf("%d", input + i);
}

for (int i = 0; i < nummers; ++i) {
    printf("Nummer %d is: %d\n", i + 1, *(input + i));
}

free(input);

推荐阅读