欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > 学习笔记第十七天

学习笔记第十七天

2024/10/25 6:24:51 来源:https://blog.csdn.net/m0_69699758/article/details/140879064  浏览:    关键词:学习笔记第十七天

1.链表

1.1链表尾插

void push_back(struct Node *pHead,int n)//尾插
{if(isEmpty(pHead)){push_front(pHead,n);}else{struct Node *p = pHead->next; while(p->next !=NULL){p= p->next;}struct Node *pNew = malloc(sizeof(struct Node));p->next=pNew;pNew->next = NULL;pNew->a= n;}
}

2.链表头删


void pop_front(struct Node *pHead)//头删
{if(!isEmpty(pHead)){struct Node *p = pHead->next;pHead->next = p->next;free(p);}
}

3.链表尾删

void pop_back(struct Node *pHead)//尾删
{if(size(pHead)>=2){struct Node *p = pHead->next; while(p->next->next !=NULL){p= p->next;}free(p->next);p->next=NULL;}else{pop_front(pHead);}
}

4.链表clear


void clear(struct Node *pHead)
{while(!isEmpty(pHead)){pop_front(pHead);}
}

2.共用体(Union)        

        定义:共用体是一种特殊的数据类型,它允许在相同的内存位置存储不同的数据类型。但

是,在任何给定时间,只有共用体中的一个成员是有效的。这是因为所有成员共享同一块内存空

间。

        语法:   

          union 共用体名称

         {
            数据类型1 成员1;
            数据类型2 成员2;
            ...
          };

       共用体(Union)的特点

        内存共享:共用体的所有成员共享同一块内存空间。这意味着在同一时刻,共用体中只能存储一个成员的值,其他成员的值将被覆盖。

        节省空间:由于共用体的成员共享内存。

        类型灵活:共用体允许在相同的内存位置存储不同类型的数据,从而提供了数据类型的灵活性。

        大小由最大成员决定:共用体的大小由其成员中占用内存最大的成员决定,以确保能够存储任何成员的值。

        地址相同:共用体变量的地址和它的各成员的地址都是同一地址。

3. 枚举类型(Enum)        

        定义:枚举类型是一种用户定义的类型,它包含一组命名的整数常量。枚举类型使代码更加

清晰易读法:

enum 枚举类型名称

{
    枚举值1,
    枚举值2,
    ...
};

默认情况下,枚举值从0开始,依次递增。但也可以手动指定值。

枚举(Enum)的特点

        有限集合:枚举类型的变量只能取该枚举类型中定义的值,这限制了变量的取值范围.

        自动赋值:在定义枚举时,如果没有显式地为枚举项指定值,编译器会自动为它们赋值,通

常是从0开始递增的整数。

        方便使用:在switch语句中使用枚举类型可以使代码更加简洁明了。此外,枚举类型还可以用

于函数参数、返回值等场合。

        常量性质:枚举类型的元素在定义后被视为常量,不能修改其值。这有助于防止在程序中意外地更改枚举项的值.

      4.  typedef    

         定义:typedef用于为现有的数据类型定义一个新的名称(别名)。这有助于简化复杂类型声

明的书写,使代码更加清晰。

语法:

typedef 现有类型 新类型名称;

示例:

typedef struct 
{char name[50];int age;float height;
} Person;Person person1 = {"Alice", 30, 5.5};
printf("Name: %s\n", person1.name);

5.位运算

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com