typedef struct{int a,int *p}key;这个结构体怎么初始化

不如初始化10个 key newkey; 里面带int 型指针有点不懂了
比如

第1个回答  2013-10-16
include<stdio.h>
typedef struct {int a; int *p; } key; // 注意结构里面 用 分号。
key newkey[10]; // 全局量,自动初始化,a 为0,指针为 (NULL) 空
main()
{
key newkey2[3]={{1,NULL},{2,NULL},{3,NULL}}; // 局部量 可以这样 初始化,指针为空
key newkey3[10];
int i;
// 假如 指针p 用 为 动态分配 的数组,下面例子 数组有4 个元素
for (i=0;i<10;i++) newkey3[i].p = (int *) malloc(sizeof(int)*4);
// 接下来 给 元素{ int 4; int p[4];} 赋值
for (i=0;i<10;i++) newkey3[i].a = i;
for (i=0;i<10;i++) newkey3[i].p[0]=i*1;
for (i=0;i<10;i++) newkey3[i].p[1]=i*2;
for (i=0;i<10;i++) newkey3[i].p[2]=i*3;
for (i=0;i<10;i++) newkey3[i].p[3]=i*4;
// 输出的例子:
printf("%d\n",newkey2[2].a);
printf("%d %d\n",newkey3[2].a,newkey3[2].p[2]);

}本回答被提问者采纳
第2个回答  2013-10-16
key newkey[10]={ { },{ }..............}

初始化指针变量有两种方法,
1。int *p=&( ) , ( )里面是你想取的某元素的地址;
2. int *p=q; q是你预先定义的一个指向整型的指针变量
第3个回答  2013-10-16
key.a=5; //a随便初始化为int型数据
key.p=new int(10); //p初始化为指向int数据的指针,这种情况p指针就指向10
满意请采纳!
不懂可以问。
相似回答