![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言学习笔记
贺赫赫813
这个作者很懒,什么都没留下…
展开
-
reentrant(可重入函数)和Non-reentrant(不可重入函数)
可重入函数是一种能够在多任务和多线程环境下安全的执行的函数,因为它们不会使用任何静态变量或全局状态,每次调用时都可以返回相同的结果,并且可以在不同的线程中同时调用。可重入函数的设计需要考虑同步问题,目的是避免数据竞争。不可重入函数则是指在多任务和多线程环境下可能会产生问题的函数,因为它们使用了静态变量、全局状态以及其他非线程安全的机制来存储状态。如果在多个线程之间同时调用此类函数,则可能导致无法预测的行为或数据竞争问题,除非采取适当的同步措施来防止这种问题。原创 2023-04-27 10:44:58 · 912 阅读 · 0 评论 -
结构体指针加宏定义访问结构体变量
C语言技术交流原创 2022-09-05 10:26:14 · 637 阅读 · 0 评论 -
C语言-联合体(共用体)union
设有以下定义union d{ int d1; float d2; }d;则下面叙述中正确的是( )正确答案: A B变量d与各成员的地址相同d.d1和d.d2具有相同的地址若给d.d2赋10后,d.d1中的值是10若给d.d1赋10后,d.d2中的值是10解析:这题思路应该是:共用体中只能存在一个值,如果给某个值赋值后,另一个值就不存在;共用一个地址;...原创 2021-07-29 20:31:19 · 802 阅读 · 0 评论 -
C语言学习-指针的应用2
为什么要使用指针2:指针变量作为函数参数,可以将一个变量的地址传送到另一个函数中;例如实现以下函数:对输入的两个整数按大小输出(用函数的方法处理)#include <stdio.h>int main(){ void swap(int *p1, int *p2); int a, b; int *n1, *n2; scanf_s("%d,%d", &a, &b); n1 = &a; n2 = &b; if (a < b) swap(原创 2021-07-22 21:08:10 · 150 阅读 · 2 评论 -
C语言-1.初识指针与指针变量
内存=“酒店”内存给内存中的字节分配的空间=地址=“房间号”地址中存放的数据=变量/常量=“旅客”可以说地址指向变量单元;例如1110房间住着小明,则1110为地址;小明为存放在该地址的变量;1110指向小明;因此将地址形象化的称为指针;此处一定要搞清楚存储单元的地址和存储单元的内容两个概念,编译器在编译后,对变量的存取都是通过变量的地址进行的,例如scanf(“%d,&i”)是把键盘输入的值送到2000为开始的存储单元中,例如接着a=i;的语句,则是通过访问i所在的地址,将地址中的值送到原创 2021-07-22 16:15:39 · 272 阅读 · 0 评论