繁体   English   中英

索引结构中指针指向的数组

[英]Indexing an array pointed to by a pointer within a Structure

看看我以前的问题 我用这组代码得到了解决方案

const MEMBERS *some_members = (MEMBERS *) GET_MEM();
unsigned value1 = some_members->mem1;
unsigned value2 = *some_members->mem2;

没有像我预期的那样工作。 但是在样本是的情况下

unsigned sample [4] = {2,5,6,1};

如果我需要从结构中对数组的第3个字符(即sample [3] = 1。)进行索引,我该如何在数组中进行索引。 我也将value2作为指针吗?

谢谢大家......

在这种情况下,是的,使value2成为指针。 以机智:

const MEMBERS *some_members = (MEMBERS *) GET_MEM();
unsigned value1 = some_members->mem1;
unsigned *value2 = some_members->mem2;

// These are true statements
value2[0] == 2;
value2[1] == 5;
value2[2] == 6;
value2[3] == 1;

指针和数组可以被访问。

例如:

int array[4] = { 1, 2, 3, 4 };
printf("Third entry in array = %d\n", array[2]);

int *pointer = array;
printf("Third entry in array using pointer = %d\n", pointer[2]);

如果指针在结构中与否无关紧要,只需使用普通字段访问(例如structure.pointer[2]structpointer->pointer[2] )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM