根据以下答案和所反映的警告/问题更新了代码
我正在尝试在 C 中编写一个指针数组。一个循环设置值,另一个循环检索它们 - 相当简单。这是我尝试设置这些值的方式:
static int *toInvert[8];
for (i=0; i<8; i++)
{
int *intrplated = //Function call that returns int*
toInvert[i] = intrplated;
//printf("OL Value = %d\n\n\n\n\n",oLoop);
}
为了检索这些值,这里是没有循环的代码,即检索一个固定值:
int *tmpPtr = toInvert[3];
printf( "*(TPointer + %d) : %d\n\n", 3, *(toInvert[3] + 1)); //Still gives the recently added value
发生的情况是,当我尝试打印这些值时,只有setter
循环中最后添加的值会被打印出来。即使我将 tmpPtr 更改为toInvert[1]
,它仍然会获得最后设置的值。
但是,如果我在编写的 for 循环中运行相同的代码,它会按预期工作。
我需要知道如何检索所有已设置的值。谢谢
编辑
我想要的是一个包含 8 个指针的 8 个元素的数组。每个指针依次指向一个由 3 个普通整数组成的数组。我想要的数组应该像[p1][p2]...[p8]
where[p1]
指向一个整数数组。