start
文章平均质量分 53
hellooworldd
这个作者很懒,什么都没留下…
展开
-
结构体的内存对齐
内存对齐 在看结构体内存对齐前大家可以先看两组结构体的代码struct S1{ char c1; int i; char c2;};struct S2{ char c1; char c2; int i;};#include<stdio.h>int main(){ printf("%d\n", sizeof(struct S1)); printf("%d\n", sizeof(struct S2)); return 0;} 结构体所包含成员的种类数目原创 2021-09-24 10:06:05 · 63 阅读 · 0 评论 -
用c语言实现排序算法之直接插入排序&&希尔排序
前言本文将介绍两种排序,即直接插入排序和希尔排序,注意两种排序方法是递进关系,希尔排序就是在直接插入排序的基础上进行进一步的优化。先上代码,最后会有代码解析。(本次排序按照升序排序)代码#include<stdio.h>#include<time.h>#include<stdlib.h>//直接插入排序//假设用升序//可以想象成摸牌void InsertSort(int* a, int n)//时间复杂度O(n^2){ for (int i = 0原创 2021-09-20 22:31:16 · 305 阅读 · 0 评论 -
了解函数机制——C语言string库函数实现
前言 C语言的库函数给了我们写代码带来极大的便利,但在使用这些函数时,也会有许许多多参数,返回值的问题,对于这些问题。我们可以通过了解函数的实现过程来深化对于库函数的使用。下面将会列举几个常用的string库函数的实现。strlen函数int my_strlen(const char* str){ int count = 0; while (*str) { count++; str++; } return count;}strcpy函数char* my_strcpy(ch原创 2021-09-17 16:33:32 · 263 阅读 · 0 评论 -
数据结构单链表(不带头节点)实现源代码需要二级指针问题解释以及对比带头结点(不需要二级指针)
数据结构单链表(不带头节点)实现源代码需要二级指针问题解释以及对比带头结点(不需要二级指针) 在数据结构链表部分,难免会因为c语言基础不够扎实而导致代码逻辑等出现问题,尤其是指针部分的应用,在不带头的单链表和带头的链表中指针的应用尤其显著,要充分理解指针部分的应用。在源代码后讲依靠源代码中指针的命名解释为什么在单链表增删查改中使用二级指针。源代码Slist.h头文件#pragma once#include<stdio.h>#include<stdlib.h>typed原创 2021-09-03 17:06:56 · 545 阅读 · 0 评论