首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏嵌入式项目开发

    C语言实例_获取文件MD5

    二、示例代码 2.1 获取数据MD5值(openssl库) 在C语言中获取一段数据的MD5值,可以使用现有的第三方库实现。 以下是一个简化版本的纯C语言MD5算法实现: #include <stdio.h> #include <stdlib.h> #include <string.h> typedef unsigned char uint8; typedef unsigned int uint32; // MD5常量定义 const uint32 MD5_CONSTANTS[] = { 0xd76aa478, 0xe8c7b756 } uint32 temp = d; d = c; c = b; b = b + LEFT_ROTATE((a + f += b; state[2] += c; state[3] += d; } // 计算MD5值 void calculate_md5(const uint8* message, size_t

    1.3K41编辑于 2023-08-19
  • 来自专栏嵌入式学习

    C语言——杂实例

    */ //*ptr = (char)5; //error: assignment of read-only location b = 5; a = 9; int if(NULL == cp) { printf("malloc failed\n"); return -1; } *(p+0) = 1; *(p+1) = 3; *(p+2) = 5; *(p+3) = 4; *(cp+0) = 1; *(cp+1) = 3; *(cp+2) = 5; *(cp+3) = 4; //*(p+4) = 6; //编译通过,但无法运行。 / change(&tmp); // // printf("################ tmp = %d /n"); // ; // return 0; } /* c语言实现函数给主函数中的指针赋值的方法 After swap a=20 b=5 After swap a=5 b=20 buffer 12345 4 Terminated with return code 0 Press any key

    1.1K30发布于 2020-09-07
  • 来自专栏ReganYue's Blog

    C语言】【入门】精选C语言实例(1)

    1.判断闰年 用户输入年份,判断该年份是否为闰年。 #include int main() { int year; printf("输入年份: "); scanf("%d",&year); if(year%4 == 0) { if( year%100 == 0) { // 这里如果被 400 整数是闰年 if ( year%400 == 0)

    2.7K10发布于 2021-09-16
  • 来自专栏嵌入式单片机

    C语言链表实例--玩转链表

    下方为创客专门针对C语言链表分析的视频资料,对链表感兴趣的可以看看学习下 1 C语言玩转链表 http://www.makeru.com.cn/live/1392_338.html?

    2.6K31发布于 2020-10-20
  • 来自专栏嵌入式单片机

    C语言链表实例--玩转链表

      第 0 个结点称为头结点,它存放有第一个结点的首地址,它没有数据,只是一个指针变量。以下的每个结点都分为两个域,一个是数据域,存放各种实际的数据,如学号 num,姓名 name,性别 sex 和成绩 score 等。另一个域为指针域,存放下一结点的首地址。链表中的每一个结点都是同一种结构类型。

    2.1K20发布于 2020-03-24
  • 来自专栏小孙同学的学习笔记

    C语言实例练习(上)

    题目来源:菜鸟教程 C语言实例 对某些题目做了一些小改动,并加入了自己的学习笔记和理解,代码不是原教程中的代码,是我自己作为练习写的,每块代码都测试了,应该是没有问题,但不足之处仍无可避免,如有问题,还请各位大佬批评指正 65 A 97 a 2 STX 34 “ 66 B 98 b 3 ETX 35 # 67 C 99 c 4 EOT 36 $ 68 D 100 d 5 ENQ 37 % 69 E 101 e 6 ACK 5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7 ",j + 65); } printf("\n"); } return 0; } 请输入您要输出的字母直角三角形的边数: 5 A A B A B C A B C D A B C D E 翻转字母直角三角形 ",j + 65); } printf("\n"); } return 0; } 请输入您要输出的翻转字母直角三角形的边数: 5 A B C D E A B C D A B C A B A

    3.6K20编辑于 2022-01-14
  • 来自专栏全栈程序员必看

    C语言读取txt文件实例

    本文主要总结用C语言来读txt文本的内容,具体的步骤如下所述。 1.1建一个.c源文件,复制如下代码。 strlen(buf); buf[len - 1] = '\0'; /*去掉换行符*/ printf("%s %d \n", buf, len - 1); } return 0; } 1.2在.c源文件同目录下 1234567 1.3在cygwin下,敲入如下指令进行编译,生成.exe可执行程序,如下图所示: gcc write_txt.c -o write_txt.exe 1.4继续在cygwin下,敲入如下指令

    4.5K20编辑于 2022-09-05
  • 来自专栏技术分享

    C语言(5)----函数

    1.函数的概念 在数学中,有函数这个概念,在C语言中也有这个概念。叫做function。 准确的来说,C语言中的函数二字就是由数学函数这个概念翻译而来的,C语言中的function更准确的翻译是子程序。但是由于它和数学中的函数用法相似,所以将它称为函数会更好理解。 那么为什么C语言中会有函数呢?因为C语言作为一种语言,它只提供一种语法规则,本身并不能执行程序。 我们可以用数学来类比C语言中的函数概念。注意,接下来所说的函数都是指C语言中的函数。 2.函数是什么? C语⾔中的函数就是⼀个完成某项特定的任务的⼀⼩段代码。你可以将它理解为一个动作,一个执行活动。 5.函数的格式 其实库函数和自定义函数的格式都是一样的,只是一个无需自己再规定,一个需要自己先自定义。 格式: : ret_type:返回类型。

    26110编辑于 2024-06-18
  • C语言——指针(5

    题目一: #include <stdio.h> int main() { int a[5] = { 1, 2, 3, 4, 5 }; int *ptr = (int *)(&a + 1); // &a取出的是整个数组类型是int(*)[5],&a+1类型也是int(*)[5],所以要强制类型转换为int(*) printf( "%d,%d", *(a + 1), *(ptr - 1)); return return 0; } 运行结果: 10   5 6. 题目七 int main() { const char* c[] = { "ENTER","NEW","POINT","FIRST" }; const char** cp[] = { c + 3, c + 2,c + 1,c }; const char*** cpp = cp; printf("%s\n", **++cpp); //POINT printf("%s\n", *-- * ++

    15010编辑于 2025-10-13
  • 来自专栏C++

    C语言(指针)5

    C/C++会把常量字符串存储到单独的一个内存区域,当几个指针指向同一个字符串的时候,它们实际会指向同一块内存。

    16310编辑于 2024-10-16
  • C语言】指针(5)

    < sz;i++) { printf("%d ", *(P_arr + i)); } } //排整型的数组 int test1() { int arr1[10] = { 1,4,3,2,6,5,8,7,9,10 ; for(i=0;i<sz;i++) { printf("%d ",arr[i]); } printf("\n"); } void test() { int arr[10]={1,3,5,7,9,2,4,6,8,0 j * width, (char*)base + (j + 1) * width,width); } } } } void test2() { int arr[10] = { 1,3,5,7,9,2,4,6,8,0

    21200编辑于 2025-12-23
  • 来自专栏开心分享-技术交流

    C语言一个简单实例

    在信息化、智能化的世界里,可能很早很早 我们就听过许多IT类的名词,C语言也在其中,我们侃侃而谈,到底C程序是什么样子? stdio.h文件是所有C语言编译器的标准部分,用来提供输入和输出的支持。 int main(void) /*主函数*/ C程序规定一个程序中有一个或多个函数,他们是C程序的基本模块。 因为C程序的执行将从main函数开始,到main函数结束而停止。 再回头看看我们的这个简单实例吧,他只有一个名为main的函数,名字后面的圆括号()表明main()是一个函数的名字,括号里面的void表示空的,这里指不接受任何参数。 return 0; C函数可以给它的使用者提供或返回一个数值。此时 我们只需理解这一句是用来满足C标准的要求而已。 } 结束的花括号,函数名后{ 和 }之间的部分称之为函数体。

    89500发布于 2020-08-10
  • 来自专栏C语言中文社区

    C语言实例:实现简易日历

    需求 C语言实现简易日历 源码 // // @author: 冲哥 // @date: 2021/6/27 20:00 // @description:C语言实现简易日历 // 搜索公众号C语言中文社区后台回复 “C语言”,免费领取200G编程资源。

    2.7K40编辑于 2022-05-30
  • 来自专栏嵌入式学习

    C语言结构体实例-创建兔子

    参考裸编程思想。 #include <stdio.h> //#include "ycjobject.h" // 颜色定义 #define CL_BLACK 0 #define CL_WHITE 1 #define CL_GRAY 2 // 物种身份ID定义 #define ID_GRASS 0x0001 #define ID_CARROT 0x0002 #define ID_GREENVEGETABLE 0x0004 #define ID_RABBIT 0x00

    1.3K20发布于 2020-09-07
  • 来自专栏学点博客

    c语言编程入门实例教程

    记得大学开始学计算机编程的的第一个语言就是C语言C语言是一门通用计算机编程语言。以前使用的WinTc编译工具,如今我们的系统都是64位,WinTc已经被淘汰了今天我就用VC 6.0开始学习。 未本文多以实例 大家讲解。 我们参考可课本使用VC新建的一个程序如下代码: 所有的 C 语言程序都需要包含 main() 函数。 代码从 main() 函数开始执行。 编程语言提供了更为复杂执行路径的多种控制结构。这里使用for循序。C语言循环还有:while 循环、for 循环、do...while 循环,当然循环里面也可以嵌套循环。 这几个例子中对于初学者来说涉及的知识点很多,之后的很多语言几乎思路都相通,学好C语言对以后的其他语言就很简单了,这里没有详细的讲解思路,这里主要的是如何在计算机上实现并能正常运行。 好了总结一下近年的经验分享给大家,如果你学C语言学好了你也可以学出C#或者有机会也可以学学JAVA。

    3.9K20编辑于 2022-08-10
  • 来自专栏Initial programming

    初识C语言·指针(5

    1 sizeof和strlen的对比 在指针进行运算的时候,sizeof和strlen挺绕的,今天我们就重温一下这两个 sizeof是C语言的关键字,被用来计算某个数据在内存中占的空间大小,不会关心存放的是什么数据 strlen是C语言中的库函数,使用的时候需要引用头文件string,是用来计算字符串长度的,计算的时候是通过找到'\0'来返回值的,如果后面有其他字符,strlen也是不会继续计算的,如果没有'\0' 那么arr + 1 指向的是第二个元素,然后解引用得到2,pa - 1指向的是5最后的一块空间,运算之后解引用得到的就是5。 题目6: int main() { char* c[] = { "ENTER","NEW","POINT","FIRST" }; char** cp[] = { c + 3,c + 2,c + 1, cpp[-1][-1] + 1,上次的cpp是没有自增的,所以解引用之后指向的是c + 1位置,那么cpp[-1]就是c + 2,c + 2指向的是P,P的地址 - 1,也就指向了NEW中N的位置,+1

    21510编辑于 2024-10-16
  • 来自专栏C++初阶高阶

    C语言初阶---指针(5

    sharetype=blogdetail&sharerId=147064833&sharerefer=PC&sharesource=asciiletters&sharefrom=from_link 本文承接C语言初阶 calc(Sub); break; case 3: calc(Mul); break; case 4: calc(Div); break; case 5: 0; i < sz; i++) { printf("%d", i); } printf("\n"); } int main(void) { int arr[10] = { 9,8,7,6,5,4,3,2,1,0 < sz; i++) { printf("%d", arr[i]); } printf("\n"); } void test1() { int arr[10] = { 3,2,4,7,8,5,0,6,9,1 j * width, (char*)base + (j + 1) * width, width); } } } } void test3() { int arr[] = { 3,2,4,5,8,9,6,7,1,0

    18710编辑于 2025-10-22
  • 来自专栏嵌入式单片机

    Linux C语言多线程编程实例解析

    他集成了进程中的所有信息都是对线程进行共享的,包括文本程序、程序的全局内存和堆内存、栈以及文件描述符   例程5:   程序目的:验证新建立的线程可以共享进程中的数据   程序名称:pthread_share.c   代码如下:   #include   #include   static int a = 5;   void *create(void *arg)   {   printf("New pthread \n");   return 0;   }   结果如下:   fs@ubuntu:~/qiang/thread$ vi thread5.c   fs@ubuntu:~/qiang/thread$ gcc -o thread5 thread5.c -lpthread   fs@ubuntu:~/qiang/thread$ . /thread5   New pthread...   a = 5   New thread is created...   

    6.7K20发布于 2020-07-17
  • 来自专栏嵌入式项目开发

    C语言实例_解析GPS源数据

    3,1,10,10,49,184,42,12,16,039,,14,54,341,,18,22,165,23*7B $GPGSV,3,2,10,22,11,318,,25,51,055,,26,24,205,,29,13,110,*7C Fix Data)消息,包含了以下关键信息: 时间:11时49分55秒(UTC时间) 纬度:28度42.4158分北纬 经度:115度49.5439分东经 定位质量指示:1(表示定位有效) 使用卫星数量:5颗卫星 消息序号:这组消息是一共分为3个消息,这是第1个消息 可见卫星总数:10颗卫星 卫星编号、仰角、方位角和信噪比等信息 (5)$BDGSV,1,1,04,03,07,05,29,07,79,246,33,10,52,232,19 三、C语言解析数据代码 3.1 解析每个字段数据 以下是使用C语言解析NMEA 0183数据字段并将其打印到串口: #include <stdio.h> #include <string.h> // 3,1,10,10,49,184,42,12,16,039,,14,54,341,,18,22,165,23*7B", "$GPGSV,3,2,10,22,11,318,,25,51,055,,26,24,205,,29,13,110,*7C"

    1.6K20编辑于 2023-08-21
  • 来自专栏嵌入式项目开发

    C语言实例_和校验算法

    和校验(Checksum)是一种简单的纠错算法,用于检测或验证数据传输或存储过程中的错误。它通过对数据进行计算并生成校验和,然后将校验和附加到数据中,在接收端再次计算校验和并进行比较,以确定数据是否完整和正确。

    1.4K40编辑于 2023-08-16
领券