百度试题 结果1 题目struct abc{int x;char y[20];double z;} data; 则以下给结构体变量成员x赋值语句中正确的是( )。相关知识点: 试题来源: 解析 data.x=100; 反馈 收藏
可以对结构体成员数组进行赋值,主要有三种方式。第一种是按字符逐个赋值,比如定义结构体变量为a,成员为字符数组s[10],则可以使用for循环进行赋值,如:for(i = 0; i < 10; i++) a.s[i] = xxx; 其中,xxx可以是任意字符,例如使用getchar()从终端读取字符。第二种方式是使用strcpy函数进...
1.直接给结构体成员赋值的方式(woman),2.通过scanf输入给结构体成员赋值(man),然后对赋值后的结构体成员输出。首先,对于直接赋值的结果没有任何影响。现在有一个问题:成员age和name的先后顺序不同,用scanf输入时会导致字符数组成员无法输出,对基本类型的成员能正常输出,于是我对此做了如下实验:(主要对结构体成员...
char a[100];int b;} test t1;直接对象赋值 strcpy( t1.a, "rwqrqwerewr" )t1.b=1 指针赋值:test *p = &t1 strcpy( t1->a, "rewrer3rewqr" );p->b=10 成员是什么类型 就用什么类型的赋值方式,比如是内置类型int之类的 直接调用=即可,如果成员是class的对象,那么调用该class的...
内存溢出,你的指针要指向一个你的结构体实体(实例)。一般定义一个指针的意思放的地址,而刚定义的指针放的地址是什么,这个一般不知道,可以就指向本不属于自己的地址,结果操作系统就把它给终止或者阻之于外了。
关于“为什么整型的就可以,结构体类型的就不能这么赋值呢?”——整形等常规数据类型由编译器自动识别,而自定义的数据类型(楼主自定义的结构体类型),编译器在编译阶段无法识别,故出错。关于“在函数外单个初始化”——在入口函数(main函数)之前定义变量及初始化,得到的是全局变量。编译器对程序...
typedef struct twoInt { int i1;int i2;}twoInt;twoInt ti[3];memset((void *)ti, '\0', 3*sizeof(twoInt))这样就可以,因为int型0在内存中是每一位都是0,所以全部赋为0就行。
struct student *p=NULL;//此时指针赋值为空(NULL),此时p为空指针,正确的做法是给p分配个指针:include <stdio.h> main(){ struct student { char name[10];int age;};struct student *p=NULL;p = new student;//分配一个 scanf("%s%d",&p->name,&p->age);printf("%s,%d",p->...
实际上,用scanf对通过指针引用的结构体变量赋值与常规的scanf用法没有差异。举例如下:include <stdio.h>/* 声明结构体 myStruct */struct myStruct{ int x; char s[100];};void main(){ myStruct ms; /*结构体指针*/ myStruct *p = &ms; /** * scanf参数列表需要...
不是没有赋值进去。你肯定是这么调用的:complex * p;creat(p);//然后打印 这样调用相当于值传递。并不能改变p的值。你可以传指针的引用或者二级指针!或者:p = creat(p);这样就好了!