谭浩强的书中的一些知识点(1)

1.

 

 

struct Student stu;

struct Student *p;

p=&stu;

2.

strcmp函数

strcmp(st1,st2)

结果为0时,字符串st1与st2相等

3.

结构体数组

struct Student stu[3]={{10101,"Li Lin",'M',18},{10102,"Zhang Fang",'M',19},{10104,"Wang Min",'F',20}};
如何用指针访问结构体数组

struct Student *p;        //定义指向struct Student结构体变量的指针变量
    for (p=stu;p<stu+3;p++)

4.为结构体指针建一个链表

struct Student
{    int num;
    float score;
    struct Student *next;     //next是指针变量,指向结构体变量
}; 

访问链表

    p=head;                        //使p指向头结点
    do
    {    printf("%ld %5.1f\n",p->num,p->score);    //输出p指向的结点的数据
        p=p->next;                //使p指向下一结点
    }while(p!=NULL);                //输出完c结点后p的值为NULL,循环终止

5.共用体与结构体

union共用体名
{    成员表列
}变量表列;

“共用体”与“结构体”的定义形式相似。但它们的含义是不同的。
结构体变量所占内存长度是各成员占的内存长度之和。每个成员分别占有其自己的内存单元。

而共用体变量所占的内存长度等于最长的成员的长度。几个成员共用一个内存区。

union特点(不共存的特点就可以用这个实现。比如老师的职务与学生班级)

同一个内存段可以用来存放几种不同类型的成员,但在每一瞬时只能存放其中一个成员,而不是同时存放几个。

 

 

6.枚举

所谓“枚举”就是指把可能的值一一列举出来,变量的值只限于列举出来的值的范围内。
声明枚举类型用enum开头。花括号中的sun,mon,…,sat称为枚举元素或枚举常量。

enum Weekday{sun,mon,tue,wed,thu,fri,sat};
enum Color {red,yellow,blue,white,black};         //声明枚举类型enum Color
 for (i=red;i<=black;i++)    

 

7.break

#include<stdio.h>

int main(){
    int i;
    for(i=0;i<=3;i++){
        switch (i) {
            case 1:
                printf("1");
                break;
            case 2:
                printf("2");
                break;
            case 3:
                printf("3");
                break;
        }
    }
    return 0;
}

输出结果为:123

表明,break此时跳出的只是switch,而非整个for循环

 

int main(){
    int i;
    for(i=0;i<=3;i++){
        printf("%d",i);
        if(i==1){break;}
    }
    return 0;
}

输出为:01

表明跳出了整个for循环

posted @ 2021-01-24 10:49  Hanabi_521  阅读(104)  评论(0编辑  收藏  举报