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,用来初始化它
这是错误的,因为它试图将指针地址转换为整数:
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;
| 归档时间: |
|
| 查看次数: |
2406 次 |
| 最近记录: |