不枉初心,砥砺前行

皮皮祥的博客

欢迎留言,评论

导航

随笔分类 -  C语言

1 2 下一页

结构体的强制类型转换
摘要:陈浩师兄03年的一篇博客《用C写有面向对象特点的程序》描述了用C语言来实现类似C++类继承的方法,这样方法的核心要点就是结构体的强制类型转换,让我来简单分析分析C语言中的结构体强制类型转换,还是用陈浩师兄原博的结构体来举例吧。两个结构体如下: /* 双向链表 (类似于父类)*/ typedef st 阅读全文

posted @ 2022-12-03 22:14 皮皮祥 阅读(762) 评论(0) 推荐(0)

c语言怎么进行强制类型转换
摘要:在c语言中,可以通过“(新类型名称) 数据或表达式”语句来进行强制类型转换;例如“(float) 100”就是将数值100(默认为int类型)转换为float类型,“(int)(x+y)”就是将表达式“x+y”的结果转换为int整型。 本教程操作环境:windows7系统、c99版本、Dell G3 阅读全文

posted @ 2022-12-03 21:37 皮皮祥 阅读(1118) 评论(0) 推荐(0)

关于函数指针和字符串指针区别?
摘要:函数指针指向函数的指针包含了函数的地址,可以通过它来调用函数。声明格式如下:类型说明符 (*函数名)(参数)其实这里不能称为函数名,应该叫做指针的变量名。这个特殊的指针指向一个返回整型值的函数。指针的声明笔削和它指向函数的声明保持一致。指针名和指针运算符外面的括号改变了默认的运算符优先级。如果没有圆 阅读全文

posted @ 2022-12-01 10:29 皮皮祥 阅读(61) 评论(0) 推荐(0)

intptr_t和uintptr_t类型
摘要:看代码看到intptr_t和uintptr_t类型,有些不明白,查找后总结如下参考http://www.cnblogs.com/Anker/p/3438480.html这2个类型定义如下 /* Types for `void *' pointers. */ #if __WORDSIZE == 64 阅读全文

posted @ 2022-11-30 21:28 皮皮祥 阅读(792) 评论(0) 推荐(0)

常量指针和指针常量区别
摘要:指针常量,本质上一个常量,指针用来说明常量的类型,表示该常量是一个指针类型的常量,常量指针,本质上是一个指针,常量表示指针指向的内容,说明该指针指向一个“常量”。 常量指针,也就是本质是指针,什么样的指针呢,常量类型的指针,什么叫常量类型的指针呢,回忆一下函数指针,指向函数地址的指针,那么常量指针, 阅读全文

posted @ 2022-11-30 21:17 皮皮祥 阅读(108) 评论(0) 推荐(0)

c语言中的malloc
摘要:在使用malloc函数前,需要调用头文件# include <malloc.h> malloc函数的作用是动态分配内存,以解决静态内存定长、不能手动释放等缺陷。 malloc的使用方法: int *p = (int *)malloc(sizeof(int)); *p = 1; free(p); 还有 阅读全文

posted @ 2022-11-30 21:03 皮皮祥 阅读(1885) 评论(0) 推荐(0)

C语言中extern?
摘要:C语言中的变量有哪些存储类型,你还记得吗?extern如何使用你都掌握了吗?看了本文你就清楚了。 1、 回顾C语言变量 C语言中变量值的存储位置有两类:CPU的寄存器和内存。变量存储类型关系到其存储位置,除了register型存储在CPU寄存器中,C语言提供的其它三种存储类型(auto型、stati 阅读全文

posted @ 2022-11-29 19:47 皮皮祥 阅读(210) 评论(0) 推荐(0)

为什么memcpy中要指定const void *
摘要:void copyBytes(char *x, char *y, int howMany) 首先是你的指针char *,这意味着除了char *需要显式转换之外的任何指针类型.您应该使用void *,隐式转换指针类型. uint16_t a, b; copyBytes(&a, &b, sizeof( 阅读全文

posted @ 2022-11-29 09:29 皮皮祥 阅读(110) 评论(0) 推荐(0)

C语言中 char s[] 和 char* s 的区别
摘要:char s[] 和 char* s 的区别 1、数组本质 2、指针 指针的指向 3、字符数组 4、char * 与 char a[ ] 5、char ** 和char *a[] char *a[] char ** s C语言指针可以代替数组使用 1、数组本质 数组是多个元素的集合,在内存中分布在地 阅读全文

posted @ 2022-11-29 09:11 皮皮祥 阅读(753) 评论(0) 推荐(0)

memset用法
摘要:功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,它是对较大结构体或数组清零的一种最快的方法。 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作 用 法: void *memset(void *s, char ch, unsigned n); 程序例 阅读全文

posted @ 2022-11-29 09:07 皮皮祥 阅读(200) 评论(0) 推荐(0)

memcpy函数用法2
摘要:头文件 #include <string.h> memcpy() 用来复制内存,其原型为: void * memcpy ( void * dest, const void * src, size_t num ); memcpy() 会复制 src 所指的内存内容的前 num 个字节到 dest 所指 阅读全文

posted @ 2022-11-28 22:14 皮皮祥 阅读(253) 评论(0) 推荐(0)

memcpy函数用法
摘要:memcpy()函数用于:复制内存块 函数介绍 函数声明:void * memcpy ( void * destination, const void * source, size_t num ); 参数 目的地:指向要在其中复制内容的目标数组的指针,类型转换为 void* 类型的指针。 源:指向要 阅读全文

posted @ 2022-11-28 22:12 皮皮祥 阅读(799) 评论(0) 推荐(0)

C语言中static
摘要:static表示全局或静态意思;在函数体内,静态变量具有记忆功能,即在函数被调用过程中,一个被声明为静态变量的值维持不变;在模块内,但在函数体外,作用域范围是有限制的,static类型的变量,是本地的全局变量,可以被模块内的所有函数访问,不可以被模块外的函数访问;static类型的函数,与普通类型函 阅读全文

posted @ 2022-11-28 16:24 皮皮祥 阅读(204) 评论(0) 推荐(0)

关于 uintptr_t和intptr_t 类型
摘要:简介 最近在看代码时,发现了两个之前没见过的数据类型:intptr_t,uintptr_t。这两个数据类型是ISO C99定义的,具体代码在linux平台的/usr/include/stdint.h头文件中。 /* Types for `void *' pointers. */ #if __WORD 阅读全文

posted @ 2022-11-18 18:03 皮皮祥 阅读(711) 评论(0) 推荐(0)

C语言uint8
摘要:一、C语言基本数据类型回顾 在C语言中有6种基本数据类型:short、int、long、float、double、char 1、数值类型 1)整型:short、int、long 2)浮点型:float、double 2、字符类型:char 二、typedef回顾 typedef用来定义关键字或标识符 阅读全文

posted @ 2022-11-18 17:34 皮皮祥 阅读(2378) 评论(0) 推荐(1)

数组指针和指针数组?
摘要:首先,理解一下数组指针和指针数组这两个名词: “数组指针”和“指针数组”,只要在名词中间加上“的”字,就知道中心了—— 数组的指针:是一个指针,什么样的指针呢?指向数组的指针。 指针的数组:是一个数组,什么样的数组呢?装着指针的数组。 然后,需要明确一个优先级顺序:()>[]>*,所以: (*p)[ 阅读全文

posted @ 2022-11-17 19:56 皮皮祥 阅读(168) 评论(0) 推荐(0)

static inline
摘要: 阅读全文

posted @ 2022-11-17 15:53 皮皮祥 阅读(31) 评论(0) 推荐(0)

内联函数
摘要:目录 什么是内联函数(Inline Function) 如何将函数编写为内联函数(how to make function inline) 例: 为什么使用内联函数(Why to use inline function) 结论: 特殊规则 1.编译器可能不接受内联提议 2.内联函数的定义和声明不可分 阅读全文

posted @ 2022-11-17 15:38 皮皮祥 阅读(266) 评论(0) 推荐(0)

C++:将char*指针强制转换成一个指向结构体的指针
摘要:在使用Socket与雷达进行通信采集数据时,会遇到“打包与解包”的问题,在打包和解包过程中,会涉及到结构体指针与字符指针间的强制转换。如下: 打包就是将包头与信息封装成一定大小的包,作为发送单元进行发送。 1、首先将雷达数据格式进行打包:(把数据格式打包成一种结构体数据类型) typedef str 阅读全文

posted @ 2022-11-16 23:18 皮皮祥 阅读(1481) 评论(0) 推荐(1)

数组指针强制转换为结构体指针
摘要:前两天在看TI官方提供的BasicRF的源码时,发现一个看不懂的地方,就是将一个数组名强制转换为结构体指针,如下所示。 在上面的图片中,basicRfPktHdr_t是一个结构体,rxMpdu是一个长度为128个字节的数组名,pHdr是一个结构体指针。这让我很是清楚这么写是什么意思,因为以前从没有遇 阅读全文

posted @ 2022-11-16 23:09 皮皮祥 阅读(426) 评论(0) 推荐(0)

1 2 下一页