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
满意请采纳!
不懂可以问。

数据结构中 typedef struct 用法
第一种:只有结构体定义 struct stuff{ char job[20]; int age; float height; }; 第二种:附加该结构体类型的“结构体变量”的初始化的结构体定义 \/\/直接带变量名Huqinwei struct stuff{ char job[20]; int age; float height; }Huqinwei; 也许初期看不习惯容易困惑,其实这就相当于: struct stuff{ char...

关于结构体初始化
1.要从数组开始说。比如int a[10]={0};其实系统只是把第一个数赋值为0,其他的数因为没有参数,系统自动初始化为0,对于int型来说。对于char来说就是‘\\0x0’。其他的类型类似。如果是int a[10]={1};那么就是第一个数是1,其他的数是0。就是1,0,0,0...2.下面到结构。结构和数组有...

结构体数组怎么初始化
struct stu{ char *name; \/\/姓名 int num; \/\/学号 int age; \/\/年龄 char group; \/\/所在小组 float score; \/\/成绩 }class[5] = { {"Li ping", 5, 18, 'C', 145.0},{"Zhang ping", 4, 19, 'A', 130.5},{"He fang", 1, 18, 'A', 148.5},{"Cheng ling"...

怎样初始化一个结构体中指向另一个结构体的结构体指针变量
stu;typedef struct MyStu { stu t;int mystu;}mystustudent;int main(){ mystudent p = malloc (sizeof(struct Mystu));\/\/这里面你只是为mystudent这个结构体开辟了一个空间,由p来指向这个空间,但是我们要确定一点,就是这个空间里面存放了一个指针(它仅仅开辟了一个指针的空间和一个int 大小...

为什么 C 语言中声明结构体类型变量时必须加上 struct
这里老版本的规范struct A {int a ;} ;准确来说struct A才是一种类型而A是未定义的 因此以前人们喜欢把typedef和struct一起用typedef struct tagA {int a ;} A ;这样就能少写struct 现在由于C++规范的影响,就不这样使用了

c++ 结构体struct中的数组 初始化?
数组不能通过数组名进行等号赋值;赋值需要一个一个元素进行,因为数组名是一个const指针,不能更改。

C语言结构体数组初始化的问题
};struct Students{int num;char name[10];struct Lessons gaoshu;struct Lessons Eng;struct Lessons C;struct Lessons zhengzhi;struct Lessons PE;}s1={ 1,"zhang", {100,90,90},{90,90,90},{90,90,90},{90,90,90},{90,90,90} }; \/\/结构体数据,直接用{}括起来就可以 ...

求C语言大神!!!QAQ这里有个结构体我不知道该怎么初始化
你好,既然你把代码写出来了就请先运行遍看下结果:10,2代码分析如下:a[2]={1,10,2,20};这代表有2个结构体,其中第一个结构体里面的数据是1,10.第二个结构体里面的数据是2,20.structst*p=a;定义了一个结构体指针,这个指针指向这个结构体数组(也就是数组的第一个结构体)。printf("%d...

结构体指针数组怎么初始化?
int a[]={1,2,3,4,5}; \/\/OK (2)int a[5];a={1,2,3,4,5};\/\/ERROR 结论:对于数组用大括号{}的赋值方式只是在定义的时候适用 否则必须用循环的方式 结构体初始化(方法一)using namespace std;struct S{ int i;float f;};struct S s={10,15.5};\/\/使用{}的正确方式 如果改...

typedef struct {...}*Pstr; 这个指针是什么意思?
typedef struct tagNode{ char *pItem; pNode pNext;} *pNode; 答案与分析: 1、typedef的最简单使用typedef long byte_4; 给已知数据类型long起个新名字,叫byte_4。 2、 typedef与结构结合使用typedef struct tagMyStruct{ int iNum; long lLength;} MyStruct; 这语句实际上完成两个操作: 1) 定义一个新...

相似回答