Struct C-从动态内存访问结构

Struct C-从动态内存访问结构,struct,malloc,Struct,Malloc,我正在用struct Record编写一个程序。当我从循环中的文本中读取记录时,在将缓冲区保存到数组中之前,我将它们分配到缓冲区。nRange只是正在读取的记录总数 Record *storage; storage = (Record*)malloc(nRange*sizeof(Record)); Record buffer; storage[i] = buffer; 我想访问存储器[I]以检查记录是否保存到内存中,但我不能完全理解语法。我试着说: printf("%d \n", &

我正在用struct Record编写一个程序。当我从循环中的文本中读取记录时,在将缓冲区保存到数组中之前,我将它们分配到缓冲区。nRange只是正在读取的记录总数

Record *storage; 
storage = (Record*)malloc(nRange*sizeof(Record)); 
Record buffer;
storage[i] = buffer;
我想访问存储器[I]以检查记录是否保存到内存中,但我不能完全理解语法。我试着说:

printf("%d \n", &storage[i].x);

但我认为这只是给了我存储[I]中记录的x值的地址。如果有人能告诉我确切的语法,我将不胜感激。

你想得太多了。您只需编写
存储[i]
,就像分配它一样

printf("%d \n", storage[i].x);

你想得太多了。您只需编写
存储[i]
,就像分配它一样

printf("%d \n", storage[i].x);

我以前也尝试过,它给了我一些大的负数……但是我仔细检查了我的代码,我对两个嵌套循环使用了相同的变量,这让我很反感。谢谢我以前也尝试过,它给了我一些大的负数……但是我仔细检查了我的代码,我对两个嵌套循环使用了相同的变量,这让我很反感。谢谢