
C/C++语言
有理生
这个作者很懒,什么都没留下…
展开
-
c-c++语法区别之一
今天被个c程序搞得头晕,最后发现施低级错误,都怪几年“面向对象”了,把C的老本都忘了。总结错误如下:c语言和c++是不一样的,在c编程中必须将在该函数/过程可能用到的所有变量和常量定义在函数/过程的开始部分,因为c语言对内存地址的划分用的是DOS下的段划分,而不是现在的段页方式,c首先在内存中开辟数据段,然后紧接着就开辟代码段。原创 2006-08-03 10:13:00 · 2426 阅读 · 0 评论 -
vc里面字符串变量的初始化
vc里面用c语言编程时,字符串变量char* str不能用常量字符串初始化,只能逐个字节赋初值,或者用字符数组形式声明为char str[ ],否则,以后改变这个变量的值时会提示,内存不能改变。例如:char *str = "aasdasd";这在tc中*str是可以改变的,但是在vc 中*str是不可改变的字符常量。另:在tc中const char *str = "aasdasd";才使原创 2006-08-04 13:25:00 · 2146 阅读 · 1 评论 -
为什么回调
回调函数大家一定不陌生,本质上就是个函数指针。运行机制今天不必赘述,今天只说说他的作用(必要性)。多年前就思考过这个问题,但是每个阶段可能会有不同的体会吧。今天在优快云博客上看关于回调的应用场景的一句话:“你想让别人的代码调用你的函数,但是你又不能改别人的代码”。所谓不能改别人的代码,其实是出于封装解耦的目的,对方未必真的提供源码给你,比如编译好的模块,只给你开放个API,这时候你不能修原创 2015-03-10 12:21:53 · 1170 阅读 · 0 评论 -
一道二维数组的面试题
题目:给一个M*N的二维数组,数组元素的值为0或者1,要求转换数组,将含有1的行和列全部置1. 比如原数组:0 1 0 00 0 0 00 0 1 00 0 0 0需要转换成:1 1 1 10 1 1 01 1 1 10 1 1 0这个题目看起来很简单,可是我在面试过程的40分钟硬是没写出个满意的答案。首先想到的就是遍历数组,然后遇到1,就设原创 2016-01-09 11:07:14 · 4015 阅读 · 8 评论