2015/12/10补充: 当我们需要给一个数组返回所赋的值的时候,我们需要传入指针的指针.当我们只需要一个值的时候,传入指针即可,或者引用也可以. 结构大致如下: char* p = (char*)malloc(sizeof(char)*num); while() { func(char** p); } free(p); void func(char**p) { char buffer[num] = {0}; for(int i = 0; i < num; ++i) (*p)[i] = buf…
第一章  文件结构       C/C++程序通常由两个文件组成,一个文件保存程序的声明,称为头文件,.h 文件.一个保存程序的实现,称为定义文件.c文件. 1.1 版权与版本的声明 版权和版本的声明位于头文件和定义文件的开头(参见示例1-1),主要内容有: (1)版权信息. (2)文件名称,标识符,摘要. (3)当前版本号,作者/修改者,完成日期. (4)版本历史信息. 实例如下: /* * Copyright (c) 2001,上海贝尔有限公司网络应用事业部 * All rights res…
函数设计最重要的无外乎两个方面,一个是函数的接口设计一个是内部实现的一些规则. 在C语言中,函数的参数和返回值的传递方式分为两种: 值传递与指针传递.而C++中,多了一个引用传递. 引用传递有些像指针传递,但使用方式却像值传递. 6.1   参数的规则 规则:参数的书写要规范,不用丢三落四. 规则:参数命名要恰当,顺序要合理. 比如说,拷贝函数,一般是目的参数放前面,源参数放在后面. 一般,我们这样写 void  StringCopy(char *strDestiantion,  char *s…
5.1  为什么需要常量 1)为了便于用户理解,增加程序的可读性. 2)在程序的很多地方都用到同一个常量,用某一个宏常量来定义可以减少错误. 规则:尽可能的使用含义直观明确的常量来表示程序中多次出现的数字或者字符串 5.2  #define  vs   const      一般在C里面一般用#define,而在C++中,更喜欢用const,因为const有很多类型.而define没有类型检查这一说,只是单纯的进行字符替代. 规则:C++中,程序一般使用const常量而不使用宏常量,即const…
4.1 运算符的优先级   规则:如果代码行中的运算符比较多,可用括号确定操作顺序.if((a|b)&&(a&c)) 4.2   复合表达式 规则:不要编写太复杂的复合表达式 规则:不要有多用途的复合表达式   d = (a = b + c) + r ; 不可取. 规则:不要把程序中的复合表达式与真正的数学表达式相混淆 4.3  if语句 本节以"与零值比较"为例,展开分析. 1)布尔变量与零值比较 规则:不可将布尔变量直接与TRUR.FALSE.或者1 . 0…
  3.1  共性规则 规则:标识符应该直观且可以拼读,可进行英语翻译. 规则:标识符的长度需要控制好,不应该太长. 规则:命名规则应该同操作系统或者开发工具等保持一致,比如大小写混用.AddChar(); 规则:程序中最好不要仅靠大小写区分的变量. X 与 x 规则:程序中不要出现同名的变量. 规则:变量的名字可以是 n 或者 adj + n:   value  oddvalue 规则:函数的名字可以是 v 或者 v + n;        DrawBox(): 规则:可用反义词命名互斥的两个…
2.1 空行 规则1:在每个类声明之后,每个函数定义结束之后加空行. 规则2:在某个函数体内,相关的不加空行,不相关的加空行. // 空行 void Function1(-) { - } // 空行 void Function2(-) { - } // 空行 void Function3(-) { - } .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier N…
第十五章:控制脚本 处理信号 重温Linux信号 信号 名称 描述 1 HUP 挂起 2 INT 中断 3 QUIT 结束运行 9 KILL 无条件终止 11 SEGV 段错误 15 TERM 尽可能终止 17 STOP 无条件停止运行,但不终止 18 TSTP 停止或暂停,但继续在后台运行 19 CONT 在STOP或TSTP之后恢复执行 默认情况下,bash shell会忽略收到的任何SIGQUIT(3)和SIGTERM(5)信号. 如果bash shell收到了SIGHUP信号,它会退出.…
本章需求:首先,让应用轮询新结果并在有所发现时及时通知用户,即使用户重启设备后还没有打开过应用.其次,保证用户在使用应用时不出现新结果通知. 1. 一般intent和broadcast intent 许多系统组件需要知道某些事件的发生(WIFI信号时有时无,电话的呼入等),为满足这样的需求,Andorid提供了broadcast intent 组件. broadcast intent的工作原理类似于之前学过的intent,但不同的是broadcast intent可以被多个叫做broadcast…
在Andorid的世界里,凡事要在屏幕上绘制的东西都可以叫drawable,比如抽象图形,Drawable的子类,位图图形等,我们之前用来封装图片的BitmapDrawable就是一种drawable. 本章我们还会看到更多的drawable:state list drawable.shape drawable和layer list drawable. 这三个drawable都定义在XML文件中,可以归为一类,统称为XML drawable. shape drawable 使用ShapeDraw…