【无标题】指针 数组 结构体

结构体

1.结构体类型的定义

struct 结构体类型名

{

类型说明符 成员名1;

类型说明符 成员名2;

类型说明符 成员名3;

};

结构体类型是将数据根据用户需要分装成一个整体。

2.结构体变量的定义

  结构体类型是类似于int的一种数据类型,不能保存数据,但是可以用来定义变量,然后将数据保存到结构体变量中。

例如

struct stu_type{
char name;
int age;
int c;
int math;
};

可以用其构造三个结构体变量 struct_type stu1,stu2,stu3;分别储存三个学生的信息。与int i,j,k对比,struct_type相当于int,stu1,stu2,stu3相当于i,j,k。

2.结构体变量的使用

格式:结构体变量名.成员名

eg 第一个学生的c语言成绩

stu.c=80;

scanf("%d",&stu1.c);

printf("%d",stu1.c);

3.在定义结构体类型的同时定义结构体变量

struct stu_type{
char num[15];
char name[10];
int age;
int c;
int en;
}stu1,stu2;

4.结构体数组的定义和使用

结构体数组的格式:struct 结构体类型名 数组名[下标];

eg struct stu_type stu[100];

结构体数组的使用

结构体数组名[下标].成员名

eg 对第一个学生的各科成绩进行赋值

stu[0].c=60;
stu[0].math=70;
stu[0].en=80;

结构体数据的初始化

struct stu_type stu[3]={{"101","zhangxiao",21,80,70,60},

                                        {"102","wangxi",22,81,71,61},

                                        {"103","liming",22,30,50,70}};

数组

一维数组

数组的下标不能为变量:定义数组是需要为数组分配储存空间,若下标为变量则不能确定储存空间的大小。

初始化

int a[5]={0,1,2,3,4};

数组在定义时若不进行初始化,则各元素的初值是随机的。

初值个数小于数组长度,只给前面的元素赋值,后面元素自动赋默认值。

若给出了全部数组元素的初值,定义数组时可以省略数组元素的个数。

二维数组

类型说明符 数组名[行长度][列长度];

初始化

分行赋初值

int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};

顺序赋初值

int a[3][3]={1,2,3,4,5,6,7,8,9};与上面的等价

字符数组

a[0]='c';

scanf("%c",&a[0]);

printf("%c",a[0]);

初始化

char a[8]={'c','h','a'};

如果初值个数小于数组长度,则只给字符数组前面的元素赋值,后面的初值为空字符'\0'

指针

定义 计算机在运行程序时会把数据和程序放在内存中。内存是以字节为单位的连续的储存空间,每一个字节有一个唯一的编号(地址)。如果在程序中定义了某个变量,c编译系统会根据该变量的数据类型,为其分配一定字节数的储存单元。

变量的地址称为指针。

指针变量的定义和使用

定义 基类型 *指针变量名

int a=2,*pa,*pb;   定义整型指针变量pa,pb

char c='a', *pc;  定义字符型指针变量pc;

pa=&a; 指针变量pa存放变量a的地址,即指向变量a;

pb=pa;pb和pa一样指向变量a

指针变量只能存放地址,不能将整数或其他非地址类型的数据赋给指针变量。

将地址赋给指针变量时,变量名前不能加*。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值