C语言及程序设计进阶例程-15 指向结构体的指针

贺老师教学链接  C语言及程序设计进阶 本课讲解

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

#include <stdio.h>
#include <string.h>
struct Student
{
    int num;
    char name[12];
    char sex;
    float score;
};
int main( )
{
    struct Student stu;
    stu.num=10301;
    strcpy(stu.name, "Wang Fun");
    stu.sex='f';
    stu.score=89.5;
    struct Student *p=&stu;
    printf("%d %s %c %.1f\n", stu.num, stu.name, stu.sex, stu.score);
    printf("%d %s %c %.1f\n", (*p).num, (*p).name, (*p).sex, (*p).score);
    printf("%d %s %c %.1f\n", p->num, p->name, p->sex, p->score);
    return 0;
}

用指向结构体变量的指针作实参

#include <stdio.h>
#include <string.h>
struct Student
{
    int num;
    char name[12];
    float score[3];
};
void print(struct Student*);
int main( )
{
    struct Student stu,*pt;
    stu.num=12345;
    strcpy(stu.name, "Li Fung");
    stu.score[0]=67.5;
    stu.score[1]=89;
    stu.score[2]=78.5;
    pt=&stu;
    print(pt);
    printf("%d %s ", stu.num, stu.name);
    printf("%.1f %.1f %.1f\n", stu.score[0], stu.score[1], stu.score[2]);
    return 0;
}

void print(struct Student *p)
{
    printf("%d %s ", p->num, p->name);
    printf("%.1f %.1f %.1f\n", p->score[0], p->score[1], p->score[2]);
    p->score[2]=100;
}
时间: 2024-10-29 16:36:41

C语言及程序设计进阶例程-15 指向结构体的指针的相关文章

C语言及程序设计进阶例程-11 体验结构体

贺老师教学链接  C语言及程序设计进阶 本课讲解 结构体类型变量的定义方法 #include <stdio.h> struct Student { int num; char name[20]; char sex; int age; float score; char addr[30]; }; int main( ) { struct Student student1, student2; printf("%d\n", sizeof(student1)); return 0

C语言及程序设计进阶例程-16 当结构体成员为指针

贺老师教学链接  C语言及程序设计进阶 本课讲解 有问题吗? #include <stdio.h> #include <string.h> struct Test { int x; char *str; }; int main() { struct Test a; a.x=100; char s[]="Hello"; strcpy(a.str,s); printf("%d %s\n", a.x, a.str); return 0; } 正解-

C语言及程序设计进阶例程-12 结构体成员的引用

贺老师教学链接  C语言及程序设计进阶 本课讲解 结构体作函数参数 #include <stdio.h> struct Student { int num; char name[20]; char sex; int age; double score; char addr[30]; }; void print(struct Student s) { printf("%d %s %c\n", s.num, s.name, s.sex); //可再加-- return; } i

C语言及程序设计进阶例程-13 结构体数组及其应用

贺老师教学链接  C语言及程序设计进阶 本课讲解 结构体数组应用举例 #include <stdio.h> #include <string.h> typedef struct { char name[20]; int count; } Person; int main( ) { Person person[3]= {{"Li",0},{"Zhang",0},{"Fun",0}}; int i,j; char name[2

dll里面初始化结构体,返回应用程序指向结构体的指针,应用程序可以通过这个指针读取它的成员变量吗

问题描述 dll里面初始化结构体,返回应用程序指向结构体的指针,应用程序可以通过这个指针读取它的成员变量吗 dll里面初始化结构体,返回应用程序指向结构体的指针,应用程序可以直接通过这个指针读取它的成员变量吗? 解决方案 当然是可以的.但是更好的方式是把分配内存的工作交给调用者去做.因为这样不容易忘记释放内存.申请和释放的代码成对出现. 参考windows api里的GetWindowRect,它由调用者传入一个lpRect结构体指针,函数获取了窗口坐标,填充它. 解决方案二: 只要是在同一个

C语言及程序设计进阶例程-37 二进制文件及其读写

贺老师教学链接 C语言及程序设计进阶 本课讲解 对比ASCII文件和二进制文件 //(1)将short int x=12321写入文本文件 #include<stdio.h> #include<stdlib.h> int main( ) { short int x=12321; FILE *outfile = fopen("ascii.txt", "w"); if(outfile==NULL) { printf("Cannot op

C语言及程序设计进阶例程-18 链表中结点的插入和删除

贺老师教学链接  C语言及程序设计进阶 本课讲解 回顾:动态分配和撤销内存 #include <stdio.h> #include <malloc.h> struct Student { int num; float score; struct Student *next; }; int main( ) { struct Student *p; p=malloc(sizeof(struct Student)); p->num=31001; p->score=89.5;

C语言及程序设计进阶例程-19 链表应用

贺老师教学链接  C语言及程序设计进阶 本课讲解 猴子选大王 #include <stdio.h> #include <malloc.h> struct Monkey { int num; //猴子的编号 struct Monkey *next; //下一只猴子 }; int main() { int m,n,i,j,king; struct Monkey *head, *p1,*p2; scanf("%d %d", &m, &n); if(n=

C语言及程序设计进阶例程-39 银行储蓄系统(第六版)开发

[贺老师教学链接]   [C语言及程序设计进阶]   [本课讲解]  bank.h /*注意:运行前要建立空文件account.bin*/ #ifndef BANK_H_INCLUDED #define BANK_H_INCLUDED #include <malloc.h> typedef struct { int account; //账号 int password; //密码 char name[10]; //用户名 double balance; //账户余额 int status; /