
C语言笔记
fengyun_w
这个作者很懒,什么都没留下…
展开
-
ubuntu 安装 tcmalloc 或者E: Unable to locate package google-perftools
执行命令:sudo apt-get install google-perftools//如果报错在/usr/bin下找不到,建立一个软连接ln -s libtcmalloc.so.4 libtcmalloc.so在CMakeList.txt中直接链接:target_link_libraries(${SERVER_APP_NAME} -ltcmalloc)如果报错:E: ...原创 2019-11-20 19:53:32 · 5154 阅读 · 0 评论 -
有两个有序数组A1和A2,合并两个有序数组
剑指offer2.3.2字符串:有两个排序的数组A1和A2,内存在A1的末尾有足够多的空余空间容纳A2,编写一个函数,将A2合并到A1并排序。解析:从尾到头比较两个数组中的数字,并把较大的赋值到空间大的数组的合适位置。#include<iostream>using namespace std;void Merge(int array1[], int array2[],int le...原创 2018-06-11 02:08:00 · 3362 阅读 · 3 评论 -
将一个字符串中的空格替换成20%。
题目:实现一个函数,把一个字符串中的空格替换成20%,或是其他字符。解析:对于常规解法,就是扫描字符串,每次碰到空格进行替换。由于是把一个空格替换成三个字符,所以必须把空格后面的字符都往后挪两个位置。假设字符串的长度是n,对于每个空格字符的替换,都要移动o(n)个字符,因此对于含有o(n)个字符的字符串来说,时间效率为o(n)。提供一种复杂度为o(n)的解法。我们从后往前遍历,使用两个指针p1和p...原创 2018-06-11 00:48:17 · 3183 阅读 · 0 评论 -
static的简单介绍
static静态全局变量与普通全局变量的区别存储方式:静态全局变量和普通全局变量都存储在静态存储区,属于静态存储方式。该区域中的数据在整个程序运行中一直占据内存空间。(属于静态存储方式的数据不一定是静态变量)作用域:非静态全局变量作用域是整个源程序,在各个原文件中都有效。而静态全局变量只在定义该变量的源程序内有效。再次,可以理解为,将全局变量改为静态变量是改变了他的存储方式,及原创 2017-11-14 12:29:47 · 365 阅读 · 0 评论 -
声明与定义的区别
函数声明:C语言编译系统是由上往下编译的.一般被调函数放在主调函数后面的话,前面就该有声明.不然C由上往下的 编译系统将无法识别。正如变量必须先声明后使用一样,函数也必须在被调用之前先声明,否则无法调用!函数的声明可以与定义分离,要注意的是一个函数只能被定义一次,但可以声明多次。函数声明由函数返回类型、函数名和形参列表组成。形参列表必须包括形参类型,但是不必对形参命名。这三个元素被原创 2017-10-17 12:31:13 · 521 阅读 · 0 评论 -
内部寄存器知识总结(上)
在8086/8088微处理器中有14个16位寄存器。按用途可划分为以下: 高八位 低八位eax与ax的区别:00000000 00000000 00000000 00000000 00000000 00000000 0000000 00000000 EAX 32位原创 2017-10-14 17:03:12 · 547 阅读 · 0 评论 -
c++中引用与指针的区别
引用:引用(reference)是c++对c语言的重要扩充。引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。区分&的作用:int *p=&a;// &此处是取地址符a & b //按位与运算(相同位的两个数字都为1,则为1;若有一个不为1,则为0)a&&b //逻辑与运算int &a=b;//引用(a为b的原创 2017-10-23 20:38:49 · 241 阅读 · 0 评论 -
指针及二级指针的简单总结
指针简单介绍:指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为地址的内存单元。1)一个变量的地址称为该变量的“指针”。2)指针是一个地址,指针变量是存放地址的变量。3)在定义指针变原创 2017-10-17 23:48:21 · 346 阅读 · 0 评论 -
#define宏定义和const及enum枚举的区别
#define p 10const int p=10;enum p{a;b;}k;enum简单扩展:a和b成为枚举元素或者枚举常量,编译器会对他们按定义的顺序赋值为1,2,3,........k为枚举变量,它的值是可以输出的。但是不能对枚举变量直接赋予一个整值,必须进行类型强转才能赋。例如k=(p)2;这个语句的意思是将枚举元素顺序号为2的元素赋值给k,相当于k原创 2017-10-06 17:17:39 · 2514 阅读 · 0 评论 -
i++与++i的区别及sizeof的用法
i++与++i的区别1 )i++是先取i的值,在进行加一操作;++i是先加一,在取加一后i的值;2)++i可作为左值,i++不可作为左值。 原因:++i是将自身的加一赋值给新变量,同时自身也加一;而后置++是将自身的值赋给一个临时空间,然后自身 加1。我们都知道,左值是允许取地址&运算符获得相应的内存地址,而i++返回的i是一个临时变量,临时原创 2017-09-23 14:14:36 · 771 阅读 · 0 评论