C
文章平均质量分 55
.
图南楠
这个作者很懒,什么都没留下…
展开
-
结构体内嵌函数指针实现面向对象分层调用
函数指针原创 2022-11-25 11:34:05 · 316 阅读 · 0 评论 -
指针实现结构体成员变量的偏移访问与获取结构体大小
因此,尽管我们在示例中使用了char类型的指针来访问和操作结构体中的char类型成员变量,但其自增操作的长度并不是与结构体成员变量的类型直接相关的,而是根据指针所指向的数据类型的大小来确定的。对于char类型的指针,无论指针所指向的数据类型是什么,自增操作都会使得指针向后移动一个字节的大小,因为char类型的大小就是1个字节。在上述代码中指针的自增操作ptr++并不是与指针所指向的数据类型直接相关的,而是与指针所指向的内存单元的大小有关。指针自增操作会使指针指向下一个相邻的内存单元,原创 2023-11-13 10:39:16 · 649 阅读 · 0 评论 -
union 联合体
【代码】union 联合体。原创 2023-01-10 10:59:48 · 268 阅读 · 0 评论 -
C指针内存对齐之强制类型转换
指针访问原创 2022-12-19 11:51:36 · 1203 阅读 · 0 评论 -
C语言结构体封装函数指针
C语言结构体封装函数指针C语言结构体(Struct)从本质上讲是一种自定义的数据类型,只不过这种数据类型比较复杂,是由 int、char、float 等基本类型组成的。例如,在校学生有姓名、年龄、身高、成绩等属性,学了结构体后,我们就不需要再定义多个变量了,将它们都放到结构体中即可,如图所示:API封装方法那么我们怎么用C语言的结构体来封装函数API呢?首先看看C++和C的区别及方法:C++类C++语言类中可以封装函数,体现了模块操做的整体性,下面代码便是C++语言对某个函数的封装,这原创 2021-02-25 17:08:44 · 2054 阅读 · 0 评论 -
C_单链表的使用(增、删、改、查)
一、链表节点的创建和访问1.构建一个链表节点结构体// 构建一个链表的节点struct node{ int data; // 有效数据 struct node *pNext; // 指向下一个节点的指针};2.定义头指针用于对链表节点的访问和修改struct node *pHeader = NULL;// 定义头指针3.创建一个新的节点与前一个节点关联起来struct node *p = (struct node *)malloc(原创 2020-08-17 09:46:47 · 407 阅读 · 2 评论 -
strtok函数分割字符串的使用
一、函数功能C 库函数char *strtok(char *str, const char *delim)分解字符串str为一组字符串,delim为分隔符。二、函数解析1.函数原型char *strtok(char *str, const char *delim)2.参数char *str 要被分割的目标字符串char *delim 要分割目标字符串的分隔符,必须被包含于目标字符串中3.返回值函数返回被分解的第一个子字符串,如果没有可检索的字符...原创 2020-07-09 16:17:05 · 340 阅读 · 0 评论 -
strstr函数截取字符串的使用
一、提纲对字符串数据的处理,是在嵌入式上常用的一项基础操作,本文介绍如何通过strstr函数截取字符串二、strstr解析1.函数原型char *strstr(const char *haystack, const char *needle)2.函数参数haystack-- 要被检索的目标 C 字符串。needle-- 在 haystack 字符串内需要搜索的小字符串。3.返回值该函数返回在 haystack 中第一次出现 needle 字符串的位置,如果未找到则返..原创 2020-05-26 11:20:28 · 1528 阅读 · 0 评论 -
指针定义、野指针、左值与右值
一、指针定义并初始化与定义之后初始化的区别指针定义时可以初始化,指针的初始化其实就是给指针变量赋初值(跟普通变量的初始化没有任何本质区别)①指针定义并初始化的格式int a = 0;int *p = &a;②指针定义之后初始化,不可用*p=&aint a = 0;int *p; p = &a;二、野指针①什么是野指针野指针就...原创 2019-09-11 15:01:09 · 486 阅读 · 0 评论 -
C指针的使用
一、指针使用三部曲:①定义指针变量②关联指针变量③解引用#include <stdio.h>int main(void){ //第一步:定义指针变量 int a = 0,b=8; int *p; //第二步:关联指针指向的地址 p = &a; //第三步:解引用 *p = 555; printf(...原创 2019-09-11 10:33:47 · 528 阅读 · 0 评论 -
static用法
一、static局部变量与非静态局部变量的区别1.非静态局部变量分配在栈上,2.static局部变量分配在数据段或者bss段上。存储位置1.初始化非零的static局部变量分配在数据段上。2.未初始化和初始化为零的static局部变量分配在bss段上。二、static全局变量连接属性1.普通的非静态的全局变量,默认的链接属性是 外部的。2.static静态的...原创 2019-09-09 18:06:13 · 177 阅读 · 0 评论