gpt4 book ai didi

c - C 中全局指针与局部指针的动态内存分配

转载 作者:行者123 更新时间:2023-11-30 16:27:19 24 4
gpt4 key购买 nike

我正在尝试为双指针赋值,但无法执行此操作,因为当我的指针在本地声明时它工作正常,而当我在全局声明它时它无法工作。以下是上述场景的代码

// Declared Globally, Not Working

#include<stdio.h>
#include<stdlib.h>
int **x;
int main() {
x=(int**)malloc(sizeof(int*));
x[1][2]=10;
printf("%d",x[1][2]);
}

// Declared Locally, Working fine

#include<stdio.h>
#include<stdlib.h>
int main() {
int **x;
x=(int**)malloc(sizeof(int*));
x[1][2]=10;
printf("%d",x[1][2]);
}

最佳答案

在这两种情况下,它都是无效代码。您需要为指针分配内存,然后为对象分配内存。您只能为指针分配空间,而不为对象分配空间。

这是UB

关于c - C 中全局指针与局部指针的动态内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52783363/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com