结构体的使用简述
结构体指针变量的概念
当一个指针变量用来指向一个结构体变量时,称之为结构体指针变量。
结构体指针变量的定义
结构体指针变量定义的一般形式为:
struct 结构体类型名 *结构体指针变量名;
例如,有如下结构体类型定义:
#define N 10 /* 10 门课程 */
#define MAXLEN 20 /* 学生姓名最大长度 */
struct student
{
char name[MAXLEN];
int score
;
} ;
则 , 要定义一个指向 student 的结构体指针变量 pstu , 可写成 :
struct student *pstu;
结构体指针变量的引用
结构体指针变量必须要先赋值后才能使用。赋值时,是把结构体变量的首地址赋给该指针变量. 如:
struct student s, *pstu;
pstu = &s;
定义了结构体指针变量后,访问各成员的一般形式为:
( *结构体指针变量 ).成员名
或为:
结构体指针变量->成员名
例如:
( *pstu ) .name 或者 pstu->name
【例7-1】结构体指针变量的顶替及使用方法。 源程序
/**********************************************************/ /* 程 序 名: samp7_1 . c */
/* 作 者: wqy*/
/* 编制时间: 2016 年 8 月 6 日 */
/* 程序功能:举例说明 结构体指针变量的具体用法 */
/**********************************************************/ #include "stdio.h"
#define N 5 /* 5 门课程 */
#define MAXLEN 20 /* 学生姓名最大长度 */
/************************************/
/* 函 数 名: main */
/* 函数功能:主函数 */
/* 入口参数:无 */
/* 返 回 值:无 */
/************************************/
void main()
{
struct student
{
char name[MAXLEN];
int score
;
} s1 = { "Li ming", { 80, 75, 90, 78, 89 } }, *p; int i;
/* 用结构体变量访问其成员 */ printf( " 姓名为: %s\n", s1.name ); printf( " 成绩为: " );
for ( i=0; i<N; i++ )
printf( " %d ", s1.score[ i ] );
printf( "\n" );
/* 用结构体指针变量访问结构体成员 */ p = &s1;
printf( " 姓名为: %s\n", p->name ); printf( " 成绩为: " );
for ( i=0; i<N; i++ )
printf( " %d ", p->score[ i ] );
printf( "\n" );
}
指向结构体的指针赋值举例
struct student
{
char name[20];
};
void main()
{
struct student *st[99];
st[5]=(struct student*)calloc(1, sizeof(struct student)); sprintf(st[5]->name, "xyz");
}
- 简述在Access中使用“存储过程”
- 《C语言的指针结构体使用笔记1》
- typedef 使用大全2(结构体)
- 使用MFC Socket 发送结构体消息
- 使用 JNA 模拟C语言结构体的完整源代码
- 我的C/C++之路-010课(结构体使用的简单实例(学生成绩管理))
- DELPHI结构体的定义和使用
- 结构体中使用string
- java多线程模式ThreadLocal原理简述及其使用详解
- IOS开发之结构体的使用
- 在CakePHP 1.2 中实现多语言支持——i18n 和 L10n 的使用简述
- C语言回顾之结构体、枚举、宏定义、typedef、extern和static的使用
- 简述WebService的使用
- c语言 结构体 、数组的使用,定义的同时必须初始化,否者它们成员的数值会错乱,不是想象的样子
- 打印 DEVMODE 结构体 简述
- Pa1 结构体中使用函数---通过创建函数指针
- cvs服务器配置与客户端使用简述
- apktool的使用简述
- 《算法笔记》2.8小节——C/C++快速入门->结构体(struct)的使用
- enum 使用技巧MFC可以定义在类中、结构体中