- 博客(31)
- 收藏
- 关注
转载 彻底解密C++宽字符
1、从char到wchar_t“这个问题比你想象中复杂”从字符到整数char 是一种整数类型,这句话的含义是,char所能表示的字符在C/C++中都是整数类型。好,接下来,很多文章就会举出一个典型例子,比如,'a'的数值就是0x61。这种说法对吗?如果你细心的读过K&R和BS对于C和C++描述的原著,你就会马上反驳道,0x61只是'a'的ASCII值,并没有任何规定C/
2016-12-31 15:40:54 1576 2
转载 【C解析之四】指针
前言:C指针可以这么学。 在很多初学者而言,C/C++指针是一场灾难。C作为底层编程语言的首选,得益于其灵活的指针,使程序员在极大程度上可以直接操控内存,这在比如操作系统的实现上显得必不可少。然而过于灵活的指针有着让人担忧的另一面,不当的使用指针访问未定义空间引发不可知错误,篡改系统安全空间导致系统瘫痪等隐患,犹如挥之不去梦魇。 Java语
2016-12-30 23:26:34 239
转载 单片机基础c语言之条件编译
单片机基础c语言之条件编译C语言的条件编译#if, #elif, #else, #endif、#ifdef, #ifndef有些程序在调试、兼容性、平台移植等情况下可能想要通过简单地设置一些参数就生成一个不同的软件,这当然可以通过变量设置,把所有可能用到的代码都写进去,在初始化时配置,但在不同的情况下可能只用到一部分代码,就没必要把所有的代码都写进去,就可以用条件编译,通过预编译指
2016-12-30 23:26:07 660
转载 非常实用全面的 C++框架,库类等资源
Jasonfrozen : C/C++的Jason解析生成器Jansson :进行编解码和处理Jason数据的C语言库jbson :C++14中构建和迭代BSON data,和Json 文档的库JeayeSON:非常健全的C++ JSON库,只包含头文件JSON++ : C++ JSON 解析器json-parser:用可移植的ANSI C编写的JSON解析器,占用内存非常
2016-12-28 22:44:38 3709
转载 指针才是C的精髓
注:本文学习朱有鹏老师课程和自己整理而成。方便今后查阅,感谢朱老师~指针到底是什么?1.指针变量和普通变量的区别首先必须非常明确:指针的实质就是个变量,它跟普通变量没有任何本质区别。指针完整的名字应该叫指针变量,简称为指针。2.为什么需要指针?(1)指针的出现是为了实现间接访问。在汇编中都有间接访问,其实就是CPU的寻址方式中的间接寻址。(2
2016-12-27 23:33:40 1117 2
转载 C库函数手册
分类函数,所在函数库为ctype.hint isalpha(int ch) 若ch是字母('A'-'Z','a'-'z')返回非0值,否则返回0int isalnum(int ch) 若ch是字母('A'-'Z','a'-'z')或数字('0'-'9') 返回非0值,否则返回0int isascii(int ch) 若ch是字符(ASC
2016-12-26 23:17:55 1064
转载 C++经典类库(C++开发必看)
现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级的都有。本文为你介绍了十一种类库,有我们常见的,也有不常见的,一起来看。AD:2013大数据全球技术峰会低价抢票中如果你有一定的C基础可能学起来比较容易些,但是学习C++的过程中又要尽量避免去使用一些C中的思想;平时还要多看一些高手写的代码,遇到问题多多思考,怎样才能把问题抽象化,以使自己头脑中有类的概念;最
2016-12-25 23:10:18 893
转载 C语言多维数组的存储表示和实现
/* * array.h * * Created on: 2011-9-21 * Author:liusheng *//* * 头文件stdarg.h中几个宏作用的讲解 * va_list args; //声明变量 * va_start(args, before); //开始解析。args指向before后面的参数 * 参数类型 var = va_arg(args
2016-12-25 00:21:40 3201
原创 c面试试卷3.0
1、请写出输出结果 4294967285,-128 unsigned short A = 10; printf(“~A = %u\n”, ~A); char c=128; printf(“c=%d\n”,c); 解析:~A =0xfffffff5,int值 为-11,但输出的是uint。所以输出4294967285 第二题,c=0x10,输出的是int,最高位为1
2016-12-23 23:44:44 393
转载 C++经典类库(C++开发必看)
现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级的都有。本文为你介绍了十一种类库,有我们常见的,也有不常见的,一起来看。AD:2013大数据全球技术峰会低价抢票中如果你有一定的C基础可能学起来比较容易些,但是学习C++的过程中又要尽量避免去使用一些C中的思想;平时还要多看一些高手写的代码,遇到问题多多思考,怎样才能把问题抽象化,以使自己头脑中有类的概念;最
2016-12-22 23:10:22 13878
转载 有关C/C++指针的经典面试题
参考一:有关C/C++指针的经典面试题 C语言为何如此长寿并实用?C++为什么有那么多精彩?指针可以说是C/C++中的灵魂所在,虽然早期中pascal也有指针,但是和C/C++比起来不是一个级别的.今天为大家深入浅出的解析一下指针的有关笔试,面试题.所有题目来源网络,分析是我写的...0.预备知识,
2016-12-21 23:36:28 391
原创 c面试试卷
1、请写出 float x 与“零值”比较的 if 语句 if(x>=0.000001&&x<=-0.000001) 2、写出输出结果 AAA,段错误 char* s = “AAA”; printf(“%s”, s); s[0] = ‘B’; printf(“%s”, s); 解析:指针变量是全局变量,对应的是内存中的全局区域。字符串常量保存在只读的数据段,是不可以修改的3、
2016-12-20 22:09:39 359
转载 C 结构体与共用体的用法
C 结构体与共用体的用法struct(结构体)C 语言允许用户建立有不同类型数据组成的组合型的数据结构,它成为结构体(structure)。建立自己的结构体结构体的声明struct 结构体名 {成员列表};结构体类型的名字是由一个关键字 struct 和结构体名组合而成的。结构体名是由用户指定,又称“结构体标记”(strcuture)。
2016-12-19 23:34:13 5029
原创 c面试试卷
下面字符串定义错误的是( A ) A. char p[5] = “hello”; B. char p[] = “hello”; C. char p[] = {‘h’ , ’e’ , ’l’ , ’l’ , ’o’}; D. char *p = “hello”; 解析:字符串需要包括字符串结束标识符’\0’,”hello”算上\0之后是6个字符,超出了定义的范围大小。设char s
2016-12-18 18:08:37 436
转载 【Linux C】scanf和Linux C中的gets函数警告
在C语言中,字符数组的输入有两种方法: ①逐个字符输入 ②一次性输入整个字符串1.逐个字符输入 使用“%c”,例如: 2.一次性输入整个字符串 使用“%s”,例如: 需要注意的是,在这里定义的str数组的长度为10,则输入的字符串的长度应小于定义的长度10.若输入hello,则系统自动在输入的hello后面加一个’\0’
2016-12-17 23:43:57 1044
转载 C++的iostream标准库介绍
我们从一开始就一直在利用C++的输入输出在做着各种练习,输入输出是由iostream库提供的,所以讨论此标准库是有必要的,它与C语言的stdio库不同,它从一开始就是用多重继承与虚拟继承实现的面向对象的层次结构,作为一个c++的标准库组件提供给程序员使用。 iostream为内置类型类型对象提供了输入输出支持,同时也支持文件的输入输出,类的设计者可以通过对iostream库的扩展,来支持
2016-12-16 23:27:28 367
转载 getchar()在C程序中的妙用!
getchar()在C程序中的功能是接收一个字符,当我们在连续输入字符的时候getchar()会给你意想不到的效果。下面是net小伙做的一些测试:首先看下面的这个程序: 1 #include 2 #include 3 int main(void) 4 { 5 int a,b,c; 6 printf("please input num a:\n");
2016-12-15 23:47:50 317
原创 c++小知识点6.0
1.作用域操作符’::’有什么用?主要是用来调用全局变量,比如说在void main()的前面定义了int N;而在main中又定义了一个局部变量N,如果直接打印N,则显示的是main中的值;如果加上::,则显示在void main中定义的N的值.(1)全局域和局部域都定义了相同名字的变量a,默认情况下局部变量隐藏全局变量,如果想调用全局变量a,应该这样:“::a”; (2)调用类的静态成员:“类
2016-12-14 18:51:40 298
转载 typedef 函数指针的用法
进入正文: 代码简化, 促进跨平台开发的目的. typedef 行为有点像 #define 宏,用其实际类型替代同义字。 不同点:typedef 在编译时被解释,因此让编译器来应付超越预处理器能力的文本替换。用法一:typedef int (*MYFUN)(int, int); 这种用法一般用在给函数定义别名的时候上面的例
2016-12-13 23:06:43 199
转载 Union和Struct
联 合(union) 1. 联合说明和联合变量定义 联合也是一种新的数据类型, 它是一种特殊形式的变量。联合说明和联合变量定义与结构十分相似。其形式为: union 联合名{ 数据类型 成员名; 数据类型 成员名; ... } 联合变量名; 联合表示几个变量公用一个内存位置, 在不同的时间保存不同的数据类型 和不同长度的变量。下例表示
2016-12-12 22:18:45 234
原创 c++小知识点5.0
61.delete表达式只能应用在:用new表达式产生的指针上,如上例.62.例如.需要的时候才分配一个字符串,但又不知道该字符串长度时才分配与释放的对象被称为动态分配对象.动态分配的对象被分配在程序的空闲存储区的可用内存池中.程序员用new来创建动态分配对象,用delete来结束时对象的生命周期.63.名字空间namespace表示方法:namespace MySpace{ …. }名字空间
2016-12-11 23:33:21 240
原创 网络编程基础知识2.0
4、TCP、UDP的区别及选择 TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,只简单的描述下这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求
2016-12-10 22:02:49 222
转载 struct 成员的对齐方式
//用一个宏定义FIND求结构体struct s中某个成员变量member相对struct s的偏移量.//思考:若struct s的地址为0,则其成员member的地址就是其相对于s的偏移量//扩展: sizeof(struct s) 不一定等于 sizeof(struct s中的每一个成员)的和// 结构体大小不仅由成员的大小决定(sizeof(member)),而且还要
2016-12-09 22:38:16 988
转载 C 指针的理解
想想自己曾经学习C语言时,初次见到指针、地址,只能死记硬背,经过一段时间的软磨硬泡,终于有所收获,在此记录自己对C语言中地址、指针的理解。 推荐对C语言有一定理解的程序员阅读。 学习过C语言的程序员们,一定都知道“指针就是地址”的经典描述,到底如何理解指针就是地址。1. 内存长成啥样? 物理内存条由连续排列芯片组构成,在计算机中内存模型也被抽象为一组连续的存储空间,
2016-12-08 22:30:02 198
转载 C动态字符串,动态开辟内存空间相关 malloc realloc 用法
源自今天做C语言的一道题目:(《c语言程序设计与基础》 武汉大学出版社 p256 6)编写程序将一个不确定位数的正整数进行三位分节后输出,如输入1234567, 输出1,234,567#include #include int main() { char cc,*c = (char *)malloc(sizeof(char)); int a = 0;
2016-12-07 23:35:10 4805
转载 彻底了解指针数组,数组指针,以及函数指针,以及堆中的分配规则
一 :关于指针和堆的内存分配 先 来介绍一下指针 : 指针一种类型,理论上来说它包含其他变量的地址,因此有的书上也叫它:地址变量。既然指针是一个类型,是类型就有大小,在达内的服务器上或者普通的 PC机上,都是4个字节大小,里边只是存储了一个变量的地址而已。不管什么类型的指针,char * ,int * ,int (*) ,string * ,float * ,都是说明了本指针所指向的地址空间是
2016-12-06 23:07:13 308
原创 网络编程基础知识1.0
1、四层/七层网络模型 2、五类ip范围 IP地址 = {<网络号>, <主机号>}A类地址 : 0.0.0.0 ~ 127.0.0.0 B类地址 : 128.0.0.0 ~ 191.255.0.0 C类地址 : 192.0.0.0 ~ 223.255.255.0 D类地址:224.0.0.0 ~ 239.255.255.255 E类地址:240.0.0.0 ~ 247.255.255.
2016-12-05 17:24:01 259
原创 几种进程间通信方式
Linux上面的IPC大多都是从UNIX上面继承而来。 最初Unix IPC包括:管道、FIFO、信号。System V IPC包括:System V消息队列、System V信号灯、System V共享内存区。由于Unix版本的多样性,电子电气工程协会(IEEE)开发了一个独立的Unix标准,这个新的ANSI Unix标准被称为计算机环境的可移植性操作系统界面(PSOIX)。现有大部分Unix
2016-12-04 22:29:09 459
转载 C语言面试试卷
一、填空选择题 1、请写出 char *p 与“零值”比较的 if 语句 if(NULL == p) 2、写出打印结果255 #include < stdio.h> #include < string.h> int main() { char a[1000]; int i; for(i=0;i<1000;i++) {
2016-12-03 15:07:02 523
转载 线性表之顺序存储结构(C语言动态数组实现)
线性表的定义:N个数据元素的有限序列线性表从存储结构上分为:顺序存储结构(数组)和 链式存储结构(链表)顺序存储结构:是用一段连续的内存空间存储表中的数据 L=(a1,a2,a3....an)链式存储结构:是用一段一段连续的内存空间存储表中每一行的数据,段与段之间通过一个引用(指针)相互连接来,形成一个链式的存储结构 看到顺序存储结构的图示,我们可能
2016-12-02 23:57:40 653
转载 【C/C++和指针】著名的《const的思考》
1、什么是const?常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。(当然,我们可以偷梁换柱进行更新:)2、为什么引入const? const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点。3、cons有什么主要的作用?(1)可以定义const常量,具有不可变性。例如:const int Max=
2016-12-01 23:28:59 179
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人