hwie 发表于 2012-12-1 15:16:43

请教C中指针数组的定义

本帖最后由 hwie 于 2012-12-1 15:46 编辑

请教关于C中指针型数组:
    uint a, b;
    uchar c, d;
我如果想定义一个数组p,指向上面的四个变量,怎样定义?

实现的结果理想是:p 的值实际是 a的值, p 对应的是b, p是c, p是d。谢谢

hwie 发表于 2012-12-3 08:14:19

{:shocked:}

snoopyzz 发表于 2012-12-3 08:39:57

uint a, b;
uchar c, d;
void *p[] =
{
    &a,&b,&c,&d
};

Tliang 发表于 2012-12-3 08:47:32

uint    a,b;
ucharc,d;
void *p;
p = &a;
p = &b;
p = &c;
p = &d;

Tliang 发表于 2012-12-3 08:54:39

你这个有无符号整形又有无符号字符型,在使用的时候要加个强制转换

Tliang 发表于 2012-12-3 08:56:07

unsigned int k;
k = *(unsigned int *)p;
直接*p;会报错;keil实验

hwie 发表于 2012-12-3 09:01:16

谢谢,上面两种编译结果:Error: a value of type "int" cannot be assigned to an entity of type "void *"

uzufk 发表于 2012-12-3 11:13:31

为什么不用结构体

licheng0620 发表于 2012-12-3 11:29:19

借鉴一下
页: [1]
查看完整版本: 请教C中指针数组的定义