指向结构体变量的指针的简单应用

 
  
#include < stdio.h >
void main()
{
struct student /* 声明结构体 */
{
/* 结构体成员 */
long num;
char name[ 20 ];
char sex;
float score;

};
struct student stu_1; /* 定义结构体类型的变量 */
struct student * p; /* 定义结构体类型的指针变量 */
p
=& stu_1; /* 指向结构体变量的起始地址 */
stu_1.num
= 89101 ; /* 对结构体成员赋值 */
strcpy(stu_1.name,
" Li Lin " );
stu_1.sex
= ' M ' ;
stu_1.score
= 89.5 ;
printf(
" NO:%ld\n name:%s\n sex:%c \n score:%f\n " ,stu_1.num,stu_1.name,stu_1.sex,stu_1.score);
/* (*p)表示p指向的结构体变量,(*p).num 是p指向的结构体变量中的成员 */
printf(
" NO:%ld\n name:%s\n sex:%c\n score:%f\n " ,( * p).num,( * p).name,( * p).sex,( * p).score);
system(
" pause " );
}

 

指向结构体数组的指针

 

 
  
#include < stdio.h >

struct student
{
int num;
char name[ 20 ];
char sex;
int age;

};
/* 指向结构体类型的数组的初始化 */
struct student stu[ 3 ] = {{ 10101 , " Li Lin " , ' M ' , 18 },{ 10102 , " Zhang Fun " , ' M ' , 19 },
{
10104 , " Wang Min " , ' F ' , 20 }};
void main()
{
struct student * p; /* 指向结构体类型的指针变量 */
printf(
" NO Name Sex Age\n " );
for (p = stu;p < stu + 3 ;p ++ ) /* 循环地址 */
{
/* printf("%5d%-20s %2c %4d\n",p->num,p->name,p->sex,p->age); 等价于 */
printf(
" %5d%-20s %2c %4d\n " ,( * p).num,( * p).name,( * p).sex,( * p).age);
}
system(
" pause " );
}

 

 

 

转载于:https://www.cnblogs.com/phoebird/archive/2010/12/15/1906939.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值