c road
文章平均质量分 83
深入学习每一个c语言的小知识点。
dingdongkk
在0和1的世界中探索.....
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
12. sizeof和strlen在使用中的注意点
在使用sizeof和strlen时,有一些关键的注意点,特别是在不同的场景下,这些操作符和函数的行为可能会有所不同。原创 2024-08-27 00:53:15 · 939 阅读 · 0 评论 -
11. 关于sizeof 和 strlen的区别
sizeof用于计算数据类型或变量的总内存大小,适用于任何类型(包括数组、指针等)。strlen专门用于计算以'\0'结尾的 C 字符串的长度,只计算字符数,不包括'\0'。原创 2024-08-27 00:51:55 · 598 阅读 · 0 评论 -
10. 指针数组和数组指针详细区别
这里array是一个指针数组,存储 5 个int*类型的指针。内存分布与存储位置这里ptr是一个指向包含 5 个int元素的数组的指针。内存分布与存储位置。原创 2024-08-24 00:18:52 · 2635 阅读 · 0 评论 -
8. 函数指针的定义,解析逻辑
括号的作用是确保正确的优先级解析,fptr被理解为指向一个函数的指针,而不是其他类型。如果没有括号,声明就会表示fptr是一个函数,而不是指向函数的指针,这会导致语义错误。原创 2024-08-23 00:15:29 · 454 阅读 · 0 评论 -
7. 什么是指针?为什么需要指针
指针是一种非常强大的工具,允许直接访问和操作内存。它在动态内存分配、函数参数传递、数据结构实现和高效处理数组等方面至关重要。然而,指针的使用需要非常谨慎,必须确保指针指向有效的内存地址,并防止潜在的越界或悬空指针问题。原创 2024-08-23 00:07:43 · 1913 阅读 · 0 评论 -
6. type *(0)的神奇之处
表达式type * (0)在 C/C++ 编程中是一个常见的技巧,通常用于内核编程和一些系统编程场景中。这种语法形式的主要作用是获取特定类型指针的虚拟地址0,从而进行类型转换或执行其他计算。接下来我们会深入分析这个表达式的具体含义和应用。原创 2024-08-22 00:45:36 · 976 阅读 · 0 评论 -
5. container_of 宏的定义、作用及手动实现详细解释
宏通过成员指针ptr计算出结构体的起始地址。计算的关键步骤是利用成员的偏移量,通过指针减法推算结构体的首地址。手动实现中,通过创建一个虚拟的结构体(位于地址0)来获取成员的偏移量。原创 2024-08-22 00:19:09 · 433 阅读 · 0 评论 -
2. 函数参数传递过程详解
在 C 语言中,函数参数的传递涉及到栈(Stack)的使用。具体的传递方式取决于编译器和系统架构,但,或者在某些情况下,通过寄存器传递。原创 2024-08-18 23:42:10 · 1670 阅读 · 0 评论 -
1. void* 到底有多么好用?
void*是 C 语言中一种特殊的指针类型,称为通用指针(或称为“无类型指针”)。原创 2024-08-17 23:57:33 · 495 阅读 · 0 评论 -
C 语言中的constructor与destructor属性
GCC可以给函数若干属性,其中constructor就是其中一个。具体有哪些属性,可以看GCC的文档。公共属性:https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#Common-Function-Attributes所有属性:http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html在上面文档中有对于constructor与destructor的描述:..原创 2020-08-26 11:21:14 · 2166 阅读 · 0 评论 -
几个还不错的博客推荐
1. 内核相关:https://www.jianshu.com/u/ea8fca67c664原创 2020-08-04 15:00:11 · 415 阅读 · 0 评论 -
实验八、数据结构之二叉树 用非递归方法遍历二叉树 C语言版
1. 题目:用给递归方法遍历二叉树。2. 实验过程及结果:得到需要输入的二叉树:那么,按先序序列输入二叉树的时候,需要输入: ab#d##c#e## (注意,输入后,按enter键即可)实验结果:3. 源代码:注:递归方法的代码如下,如果要改为非递归的,可以查看实验六博文:https://blog.youkuaiyun.com/sinat_29891353/art...原创 2019-10-28 20:41:17 · 623 阅读 · 0 评论 -
实验七、数据结构之二叉树 用递归方法建立二叉树 C语言版
1. 看了大佬C++版本的递归法建立二叉树:在此有兴趣用C语言实现一下C++版本链接:[https://blog.youkuaiyun.com/stpeace/article/details/8138303](https://blog.youkuaiyun.com/stpeace/article/details/8138303)2. 实现效果:3. 源代码(已验证)...原创 2019-10-25 17:37:13 · 1444 阅读 · 6 评论 -
c文件输出函数printf, fprintf, sprintf, snprintf, printf_s, fprintf_s, sprintf_s, snprintf_s
转自:https://zh.cppreference.com/w/c/io/fprintf 定义于头文件 <stdio.h> (1) int printf( const char *format, ... ); (C99 前) int printf( const char *res...转载 2018-10-15 17:24:23 · 3146 阅读 · 0 评论 -
结构体函数作用及示例
一、作用 1. 提高代码阅读性 2. 分类管理函数及部分属性 3. 偏向于c++的面向对象思维二、使用方法: 1. 声明结构体函数 2. 初始化结构体函数 3. 调用结构体函数三、示例#include<stdio.h>#include<stdlib.h>/*structure declare*/...原创 2018-10-16 08:59:39 · 34673 阅读 · 9 评论 -
按位与& 逻辑与&& 按位或| 逻辑或|| 及其应用
按位与& 逻辑与&& 按位或| 逻辑或|| 及其应用结果:1&2 = 0 1&&2 = 1结果:概念: 掩码(英语:Mask)在计算机学科及数字逻辑中指的是一串二进制数字,通过与目标数字的按位操作,达到屏蔽指定位而实现需求。 子网掩码:eg:255.255.255.0 则与ip进行按位与运算,从而...原创 2018-10-12 11:34:52 · 16445 阅读 · 0 评论