C - 为整数分配动态内存并使用它

Kar*_*ber 1 c memory-management

我试图为整数分配内存,但我得到一个警告赋值从指针生成整数而没有强制转换,当我为一个int做一个强制转换我得到一个从指针到不同大小的整数的警告

这是我的第一个代码:

int i;
for(i = 0 ; i < gNumOfAllFiles ; i++)
{
    int *v=(int *)malloc(1*sizeof(int));
    v=0;
    dependencies[i].visited =(int)v;
}
Run Code Online (Sandbox Code Playgroud)

要么

dependencies[i].visited =v
Run Code Online (Sandbox Code Playgroud)

依赖[I]是一个结构包含字段INT访问,我试图通过0,用来初始化它

gra*_*per 5

这是错误的,因为它试图将指针地址转换为整数:

dependencies[i].visited =(int)v;
Run Code Online (Sandbox Code Playgroud)

改为执行此操作(以获取v指向的内容):

dependencies[i].visited =*v;
Run Code Online (Sandbox Code Playgroud)

编辑:另外,设置指针的内容使用*v = 0; 而不是v = 0;