正文
c语言函数结构体笔记 c语言函数结构图
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
C语言结构体函数
STU f (STU a)
{ STU b={"Zhao", 'm', 85, 90};
int i;
strcpy( a.name, b.name );
a.sex = b.sex;
for ( i=0; i2; i++ ) a.score[i] = b.score[i];
以上是将b中c语言函数结构体笔记的数据赋值给a,相当于a=b;这样的一个操作
return a;
}
main()
{ STU c= { "Qian", 'f', 95, 92 }, d;
d = f(c);//这里传的c是个复制品(传递的不是结构体指针),所以c不会变,d接收f()函数的返回值,因为返回值的内容是f()中的b的值,所以,d与c不同
printf ("%s,%c,%d,%d, ", d.name, d.sex, d.score[0], d.score[1]);
printf ("%s,%c,%d,%d\n", c.name, c.sex, c.score[0], c.score[1]);
}
输出结果为c语言函数结构体笔记:A) Zhao,m,85,90, Qian,f,95,92
C语言简单的结构体函数有点看不懂
这是函数指针c语言函数结构体笔记,属于比较深点c语言函数结构体笔记的东西c语言函数结构体笔记了c语言函数结构体笔记,好好找本书看吧c语言函数结构体笔记,这上面一下也说不清
C语言——结构体/函数
#include stdio.h
#include string.h
#define N (5)
struct STUDENT
{
char name[20];
int age;
float chinese,math;
};
void scan(struct STUDENT *a,int n);
void print(struct STUDENT *a,int n);
void sort(void *a,int n,int size,int (*cmp)(void *,void *));
int cmp_score(void *a,void *b);
int cmp_chinese(void *a,void *b);
int cmp_name(void *a,void *b);
int main()
{
struct STUDENT a[N];
int i;
scan(a,N);
sort(a,N,sizeof(*a),cmp_score);
print(a,N);
sort(a,N,sizeof(*a),cmp_chinese);
print(a,N);
sort(a,N,sizeof(*a),cmp_name);
print(a,N);
return 0;
}
void scan(struct STUDENT *a,int n)
{
int i;
for(i=0;in;++i)
{
scanf("\n%s %d %f %f",a[i].name,a[i].age,a[i].chinese,a[i].math);
}
}
void print(struct STUDENT *a,int n)
{
int i;
for(i=0;in;++i)
{
printf("%s %d %f %f\n",a[i].name,a[i].age,a[i].chinese,a[i].math);
}
}
void sort(void *a,int n,int size,int (*cmp)(void *,void *))
{
int i,j;
void *t=malloc(size);
for(i=0;in-1;++i)
{
for(j=0;jn-i-1;++j)
{
if(cmp(a+size*j,a+size*(j+1)))
{
memcpy(t,a+size*j,size);
memcpy(a+size*j,a+size*(j+1),size);
memcpy(a+size*(j+1),t,size);
}
}
}
free(t);
}
int cmp_score(void *a,void *b)
{
return ((struct STUDENT *)a)-chinese+((struct STUDENT *)a)-math((struct STUDENT *)b)-chinese+((struct STUDENT *)b)-math;
}
int cmp_chinese(void *a,void *b)
{
return ((struct STUDENT *)a)-chinese((struct STUDENT *)b)-chinese;
}
int cmp_name(void *a,void *b)
{
return strcmp(((struct STUDENT *)a)-name,((struct STUDENT *)b)-name)0;
}
关于C语言的结构体函数
如果在结构体定义时c语言函数结构体笔记,或定义后取c语言函数结构体笔记了别名c语言函数结构体笔记,可以用别名,否则不能省“struct”
如:typedef struct Teacher TEACHER;
则可以用TEACHER 代替struct Teacher
C语言的结构体没有存取控制权限,相当于C++存取控制权限中的public:
C语言结构体类型函数
void f(A c) /* 注意c语言函数结构体笔记:c结构变量名 但这个c也是个复制品c语言函数结构体笔记,与原实参只是一样的内容c语言函数结构体笔记,却不是同一个c语言函数结构体笔记!! */ 所以结果还是a={1,2}c语言函数结构体笔记; 答案为B
C语言结构体编程
#includestdio.h
#includestring.h
#includestdlib.h
struct telephone
{
char name[10];
char telno[20];
};
void search(struct telephone b[], char *x, int n);
int main()
{
int i,n;
struct telephone b[100];
char nane[100];
for(i=0;;i++)
{
printf("Please input name:");
gets(b[i].name);
if(b[i].name[0]=='#')
break;
printf("Please input telephone:");
gets(b[i].telno);
}
n=i;
printf("Please input you want to find name:");
gets(nane);
search(b,nane[0],n);
return 0;
}
void search(struct telephone b[],char *x,int n)
{
int i;
int find=0;
for(i=0;in;i++)
{
if(strcmp(x,b[i].name)==0)
{
printf("the telephone is %s\n",b[i].telno);
find=1;
}
}
if(find==0)
printf("Not found!");
}
c语言函数结构体笔记的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言函数结构图、c语言函数结构体笔记的信息别忘了在本站进行查找喔。