cfnr.net
当前位置:首页 >> C 给结构体赋值 >>

C 给结构体赋值

可以是可以,但它有一个条件,这里的赋初值不是想别的数据类型(如 int a;a=5;)它必须是对结构体中的每个成员以此赋值的,你可以从楼上所写的例子看出这一点。 将一个结构体变量的值直接赋给另外一个结构体变量的时候,这两个结构体必须是相同...

要给结构体赋值,先定义结构体,再分别给结构体成员赋值,可以使用scanf()函数,例如: #includestruct student{int num;char name[10];};void main(){struct student s;printf("输入学号:\n");scanf("%d",&s.num);//scanf赋值给结构体的num...

常用两种措施: 在声明结构体变量时初始化,如—— //#include "stdafx.h"//If the vc++6.0, with this line.#include "stdio.h"struct stu{ int x; char name[10];};int main(void){ struct stu s={8,"123"};//这样初始化 printf("%d %s\n",s.x,s...

首先这样编译会出错。 struct { char ch; int pri; } 定义结构体类型,后面没有跟分号,说明后面是该类型的变量列表,之后遇到Pri接下来的空格后面跟的lpri编译器就不知道要干什么了。 如果用struct { char ch; int pri; };,还是出错,因为之后...

举例如下: char a[10]; 1、定义的时候直接用字符串赋值 char a[10]="hello"; 注意:不能先定义再给它赋值,如 char a[10]; a[10]="hello"; 这样是错误的! 2、对数组中字符逐个赋值 char a[10]={'h','e','l','l','o'}; 3、利用strcpy char a[10...

初始化的时候stu1前面少了struct student(表示结构体类型),加上之后这样初始化就行了。 就相对整型初始化时,必须int x=。。。。,不能直接x=。。。。,事实上就是语法上的一个小细节错误。

先定义结构体,依次对结构体中的元素赋值即可: //参考代码 #includetypedef struct stu{//定义结构体类型 int a;int b;int c;};int main(){stu s;//定义结构体 scanf("%d%d%d",&s.a,&s.b,&s.c);//依次输入各元素 printf("结构体元素为:%d %d %...

使用堆内存,然后传递一个指向这个结构体的指针就可以了, 或者直接向子函数传递结构体变量. 比如: #include #include typedef struct STRC_def{int i;int j;}STRC;int Func1(STRC * pSTRC);int Func2(STRC aSTRC);int main(){STRC * a =(STRC *)m...

楼上说得对 内层循环的循环条件应该是jLength吧 但是最大的错是错在结构体不能直接用=来赋值 用=赋值是把地址赋值了 比如:ElemType a,b; b=a;是把a的地址给了b;此时b就相当于a的引用,也就是a,b其实是一个结构体了 #include "stdio.h" struct t...

你那个第一种做法叫初始化,C语言允许结构体初始化,但不允许第二种那样赋值 如果你写 struct student { int a; int b; }; struct student a={1,2}; 也是对的,这就叫初始化 至于怎么样才能做到直接赋值,C语言里面并没有这样的操作 重载操作符...

网站首页 | 网站地图
All rights reserved Powered by www.cfnr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com