#include<stdio.h>//下标法/*
int main()
{
int a[12]={2,3,6,5,8,0,9,4,1,7,11,20};
for(int i=0;i<12;i++)
{
printf("%d\n",a[i]);
}
return 0;
}
*///本质偏移法/*
int main()
{
int a[12]={2,3,6,5,8,0,9,4,1,7,11,20};
for(int i=0;i<12;i++)
{
printf("%d\n",*(a+i));
}
return 0;
}
*///指针法intmain(){int a[12]={2,3,6,5,8,0,9,4,1,7,11,20};int*p=a;for(int i=0;i<12;i++)printf("%d\n",p[i]);for(int j=0;j<12;j++){printf("%d\n",*(p+j));}for(int x=0;x<12;x++)printf("%d\n",*p++);return0;}//二维数组//下标法/*
int main()
{
int a[3][4]={2,5,4,8,9,1,3,7,6,10,12,21};
for(int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
{
printf("%d\t",a[i][j]);
}
printf("\n");
}
return 0;
}
*//*
int main()
{
int a[3][4]={2,5,4,8,9,1,3,7,6,10,12,21};
for(int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
{
printf("%d\t",*(*(a+i)+j));
}
printf("\n");
}
return 0;
}
*/
结构体
在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。
结构体初始化
#include<stdio.h>#include<string.h>struct stu
{char*name;//char name[10];int num;char sex;float score;};intmain(){//方法一:定义时赋值//struct stu s={"fangwei",1001,'m',99};//方法二:定义后逐个赋值/*
struct stu s;
s.name="fangwei"; //strcpy(s.name,"fangwei");
s.num=1001;
s.sex='m';
s.score=99;
*///指定赋值struct stu s={.name="fangwei",.num=1001,.sex='m',.score=99};printf("name:%s\n",s.name);printf("num:%d\n",s.num);printf("sex:%c\n",s.sex);printf("score:%.1f\n",s.score);return0;}
结构体嵌套
#include<stdio.h>intmain(){struct time
{int hour;int min;int sec;};struct stu
{char name[30];int num;float score;struct time TIME;};struct stu STU={"fangwei",1001,99,{13,23,44}};printf("STU.name=%s\n",STU.name);printf("num=%d\n",STU.num);printf("score=%f\n",STU.score);printf("hour=%d\n",STU.TIME.hour);printf("min=%d\n",STU.TIME.min);printf("sec=%d\n",STU.TIME.sec);return0;}
结构体数组遍历
#include<stdio.h>intmain(){struct stu
{char*name;//char name[20];int num;char sex;float score;}s[4]={{"tangseng",1001,'m',99},{"wukong",1002,'m',88},{"bajie",1003,'m',44},{"sha",1004,'m',66}};/*ef struct stu
{
char *name; //char name[20];
int num;
char sex;
float score;
}Stu;
Stu s[4]={{"tangseng",1001,'m',99},{"wukong",1002,'m',88},{"bajie",1003,'m',44},{"sha",1004,'m',66}};
*/for(int i=0;i<4;i++){printf("num: %d\n",s[i].num);printf("sex: %c\n",s[i].sex);printf("score:%f\n",s[i].score);printf("\n");}return0;}