2020
10-07
10-07
详解C语言-二级指针三种内存模型
二级指针相对于一级指针,显得更难,难在于指针和数组的混合,定义不同类型的二级指针,在使用的时候有着很大的区别第一种内存模型char*arr[]若有如下定义char*arr[]={"abc","def","ghi"};这种模型为二级指针的第一种内存模型,在理解的时候应该这样理解:定义了一个指针数组(char*[]),数组的每个元素都是一个地址。在使用的时候,若要使用中间量操作元素,那么此时中间量应该定义为char*tmp=NULL;如果要打印这个数...
继续阅读 >
一、前言今天在看ThinkinginC++这本书时,书中的一个例子引起了我的注意,具体是使用了下面这句单看这条语句的语义会发现仅仅是使用一个简单的string的substr函数将所得子串push_back到strings。但是在阅读时我却对于substr的参数传递产生了疑惑,到底是先执行了++current,还是先执行了last-current?经过查阅资料,发现了两个相关知识点----参数的计算顺序与压栈顺序。二、参数压栈顺序C/C++中规定了函数参数的压栈顺序是从右...
面向对象编程,面向设计模式编程(亦即设计模式),面向接口编程,面向模板编程(亦即泛型编程),面向函数编程(亦即函数式编程),面向多核时代的并行编程,面向大数据的机器学习编程……这么多年,大家要面向的东西已经够多了,然而我看到的现象是,很多编程语言让大家面向xxx的同时在竭力回避指针。我可不想面向这么多东西,所以我只好加入指针的黑暗势力。我要不自量力的来写一篇《面向指针编程》作为投名状,借以表示我与...
前言你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学校课程总是从理论出发,作业项目都看不出有什么实际作用,不如从工作中的需求出发)建议:不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少10年通用。回顾一下历史,看看历史上时间线上技术的发展,你才能明白明天会是什么样。一定要动手,例子不管...