C语言动态分配内存的指针问题

发布于 2022-09-13 00:24:13 字数 464 浏览 23 评论 0

int main(){
    int *p = (int*) malloc(3 * sizeof(int));
    int *p2 = (int*) malloc(3 * sizeof(int));
    int i = 0;
    int j = 0;

    for(; i<3; i++){
        *(p+i) = i;
        printf("%d\n", *(p+i));
    }

    printf("--------------------------\n");

    for(; j<3; j++){
        // *p2++ = j;
        *p2 = j;
        p2++;
        printf("%d\n", *p2);
    }
}


Why?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

孤星 2022-09-20 00:24:13

第二个循环里,你赋值给p2,打印的却是(p2+1)。把p2++放到最后面。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文