- 博客(6)
- 资源 (6)
- 收藏
- 关注
原创 经典C语言面试题14:memcpy使用注意事项
memcpy函数原型如下:void *memcpy(void *dst, const void *src, size_t n)功能:用来拷贝src所指的内存内容前n个字节到dst所指的内存地址上。使用时应当注意以下几点:1、如果复制的字节数n超出了dst的空间容量,或者n超出src的容量,此函数是不会进行判断的,这样就很危险。因此,需要程序员自己检查是否有溢出的情况出现。2、...
2019-08-11 12:14:32 2997
原创 经典C语言面试题13:#define与typedef的区别
一、简介1、#define #define为C语言中的预处理指令,不仅可以为类型取别名,还可以定义常量、变量、编译开关等。2、typedef typedef用来给已有的类型起一个别名,主要作用如下:① 简化复杂的类型声明,如typedef bool (* FunPtr) (int, double); //声明了一个返回bool类型并带有两个形参的函数指针类型F...
2019-08-10 17:59:11 3000
原创 经典C语言面试题12:C语言字符串与字符数组
在C语言中,将字符串作为字符数组来处理。C语言规定了一个“字符串结束标志”,以字符‘\0’代表。也就是说,在遇到第一个‘\0’字符时,表示字符串结束,由它前面的字符组成字符串。 一、字符数组 用字符串常量来初始化字符数组,例如:/* 例1 */char str[] = {"I am happy"}; //也可以省略花括号char str[] = "I am h...
2019-08-10 17:22:41 3310
原创 经典C语言面试题11:程序的内存分配
一个由C/C++编译的程序占用的内存分为以下几个部分:1、栈区(stack):由系统自动分配和释放,存放函数的参数值,局部变量的值等。2、堆区(heap):一般由程序员分配和释放,若程序员不释放,程序结束时可能由系统回收。3、全局区/静态区(static):全局变量和静态变量的存储是放在一起的,初始化的全局变量和静态变量在一块区域;未初始化的全 局变量和未初始化的静态变量在相邻的另一...
2019-08-10 16:22:25 2463
原创 经典C语言面试题10:堆和栈的区别与联系
1、申请方式栈(stack)由系统自动分配。例如,在函数中声明一个局部变量:int b;系统会自动在栈中为b开辟内存空间。堆(heap)需要程序员自己申请,并指明大小。例如,在C语言中的malloc函数:char *p = NULL;p = (char *)malloc(10);在C++中的new运算符p = new char[10];2、申请后的系...
2019-08-04 18:32:34 3240
原创 经典C语言面试题9:自旋锁和信号量的区别
一、概念简介1、自旋锁 自旋锁是专门为防止多处理器并发而引入的一种锁,主要用于对称多处理器(SMP)环境中,在内核中大量用于中断处理等部分。自旋锁最多只能被一个内核任务持有,若一个内核任务试图请求一个已被争用的自旋锁,那么这个任务就会一直进行忙循环——>旋转——>等待锁重新可用。若锁未被争用,请求它的内核任务便能立刻得到它并且继续执行。自旋锁可以在任何时刻防止多于一个的内...
2019-08-04 17:59:21 2595
libxml2-2.9.1.tar.gz
2020-02-18
Source Insight 4.0最舒服的护眼主题
2018-05-14
《信息存储与管理:数字信息的存储、管理和保护》PDF高清完整版
2018-04-10
C程序设计语言(第2版·新版)
2018-04-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人