编程语言之C/C++
文章平均质量分 52
hongyucai
每个人IT人身上都有闪光点,看到别人的优点,学习成为更好的自己。
展开
-
c++之指针
共享指针、空指针、指针和引用、指针和数组原创 2022-10-09 11:15:19 · 352 阅读 · 0 评论 -
c++ 异步编程基础async、thread
std::async异步调用函数,在某个时候以Args作为参数(可变长参数)调用Fn,无需等待Fn执行完成就可返回,返回结果是个std::future对象。原创 2022-10-09 10:27:03 · 412 阅读 · 0 评论 -
排序算法之选择排序
接下来讲讲选择排序,顾名思义选择排序就是每次排序中选出最大,或者最小的那个;那么下一次参加排序的个数就是n--1在每一轮排序的开始需要选择一个假定是要选的,挨个比较每一个下一个,直到最后一个这样一来思路就清晰了void selectSort( int * nNum,int count ){int tmp=0,t;for(int i=0;itmp =原创 2017-06-27 20:15:58 · 196 阅读 · 0 评论 -
排序算法之冒泡排序
学了计算机十个年头,可至今仍不能完全用代码写出各种经典的排序算法。趁着这个机会自己来记录一下首先是冒泡排序,这些排序算法在优酷上有不错的生动视频看一下视频可以加深理解。优酷地址:http://v.youku.com/v_show/id_XMTQwOTEyODU5Mg==.html?spm=a2h0k.8191407.0.0&from=s1.8-1-1.2接下来说原创 2017-06-27 16:12:41 · 279 阅读 · 0 评论 -
从C++封装、继承、多态谈UML建模
c++有面向对象程序设计的特性,这其中类的封装、继承、以及多态的实现为面向对象的程序设计提供了很好的帮助。首先谈谈继承,c++可以单继承和多继承,而多继承的概念允许程序在设计中有多个父类,这和现实的需求更加吻合,但是代码在实现的时候却会产生二义性,于是乎出现了虚继承、虚函数等定义。这虽然让C++在语法上变得更加复杂,但是也为解决问题做了限定。继承使子类拥有父类的成员变量和成员函数,父类在设计上原创 2017-07-11 20:48:54 · 633 阅读 · 0 评论 -
c语言之数组指针
在c语言里,数组就是指针,指针就是数组,一维指针就是一维数组,二维指针就是二维数组。数组名就是数组的首地址,所以形参是数组的时候,必须把数组的个数也带过去;数组一般通过下标访问,下标偏移就是地址偏移。可以把一级指针指向一维数组的首地址。除此之外,指针比数组更为灵活。数组在定义的时候必须指定长度个数,数组可以有各种类型。但是数组在初始化之后,必须单个赋值。数组可以越界赋值。但是不能在没有定义原创 2017-07-01 18:33:25 · 329 阅读 · 0 评论 -
c语言关键字学习之 static register inline volatile
首先来说说static,static主要用在这几个地方:定义全局静态变量,定义静态局部变量,定义静态函数。被static修饰的变量具有全局的作用,生命周期和作用域需要特别注意!静态全局变量和静态局部变量都是存储在静态存储区,区别于其他变量存在栈区和堆区。所以它是在编译的时候就确定的。通过反编译可以看出int g_nNum = 0x2222;static int g_sNum = 0原创 2017-06-30 15:09:12 · 265 阅读 · 0 评论 -
c语言之宏定义
#define MAX(a,b) ( a>b ) ? a : bint _tmain(int argc, _TCHAR* argv[]){int nNum = MAX(0x2, 0x1)+2;printf("%x\n", nNum);return 0;}定义带参宏,记得给表达式加合适的括号,不然像上面例子会变成 a>b+2?a:b+2 把MAX(原创 2017-06-30 18:54:11 · 249 阅读 · 0 评论 -
c++之知识点整理
c++在c语言的基础上增加了很多特性,最重要也最常被用到的几个就是类对象、引用、模板以及范式编程。下面总结一下c++基础的一些知识点1. const 修饰符 const修饰符在c++中经常被用到,主要作用是定义常量数据,采用就近原则:const char * pNnum1 = "123456"; char* const pNum2 = “789123”;这两者的区别在于第一个const修饰的原创 2017-07-10 08:38:57 · 295 阅读 · 0 评论 -
为什么c语言从main函数开始
学习编程语言,用编程语言开发东西。没有报着追根究底的精神。学习是一种态度,如果想要技术能有所提高就得抱着怀疑和为什么的态度去学习。为什么这么多种编程语言,c、c++、java都要定义一个main函数呢?究竟代码是怎么放到cpu里执行起来的。能不能把程序执行的开始修改了呢这里面涉及到了编译原理,因为没有学习这方面的知识,只是大概看了一些知识。记录一下自己理解。cpu执行的原创 2017-06-29 21:02:52 · 1544 阅读 · 0 评论 -
c语言之位运算
位运算是针对二进制来操作的,位运算符有 &、|、~、^、>&按位与 ,简单一句话 按位与运算就是把一个二进制数变0;因为 1 & 1 结果是 1 其他情况 1&0 、0 &1 、 0& 0 都是 0| 按位或,简单一句话就是将二进制数变1 ;因为 0 | 0 结果是0 其他情况 1 | 1、1|0、0|1 都是1~按位取反更简单,~1 结果是 0 ;~0 结果是 1;^按位异或的结原创 2017-06-29 16:21:42 · 360 阅读 · 0 评论 -
c语言数据类型
我们知道的数据类型,其实在所有语言当中都有各种表示,大同小异。为什么计算机需要各种数据类型?为什么各种编程语言有各种不同的数据类型?为什么解释型语言和编译型语言数据类型又不一样呢?首先说说计算的组成。因为坑爹的计算机和发展。出现了各种cpu的位数不一样,不同位数对数的表示自然不同。这其实是规定,人为制定的规定。比如十六位的cpu,32位和62位的cpu,十六位的编译器对原创 2017-06-29 11:27:49 · 307 阅读 · 0 评论 -
计算机、c语言之进制浅析
计算机无非就是保存数据和数据结构。那么数据在计算机内是怎么保存的呢?机器只懂得二进制,而程序运行依赖内存中的数据,而在内存中的数据却是十六进制的表示方式这又是为啥呢。因为十六进制和二进制转换比较直观,做异或处理简单啊。例如 0x1111 换成二进制就是1000100010001 四位换一位由于我们多年来习惯了用十进制表示,所以在遇到二进制和十六进制以原创 2017-06-29 11:24:53 · 703 阅读 · 0 评论 -
c语言中变量在内存中的本质
C语言当中所有变量本质都是一个地址。1.int nNum = 'XXOO';printf_s("%s", &nNum);看到上面的例子没有,int变量怎么可以存字符呢,但是确实可以。通过把字符存到整形变量里面,再用字符串的形式输出。但是请记住,在64位,32位的编译器中int占4个字节。所以只能写XXOO。写多了就错了!!!2.c中存在局部变量和和全局变量,原创 2017-06-28 10:25:32 · 1227 阅读 · 0 评论