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…
一些控制脚本的方式:向脚本发送信号.修改脚本优先级,在脚本运行时切换到运行模式 16.1 处理信号 linux利用信号与运行在系统中的进程进行通信. 也可以通过对脚本进行编程,使其在收到特定信号时执行某些命令.从而控制脚本的操作. 16.1.1 重温Linux信号 比如下面这些常见的: 信号   值         描述 1    SIGUP     挂起进程 2    SIGINT     终止进程 3    SIGOUT    停止进程 9    SIGKILL    无条件终止进程 15 …
Python中的函数具备多种特性,这可以简化编程工作.Python函数的某些性质与其他编程语言中的函数相似,但也有性质是Python独有的.本节将介绍如何用函数来表达亿图.提升可复用程度,并减少Bug 第十四条:尽量用异常来表示特殊情况,而不要返回None 第十五条:了解如何在闭包里使用外围作用域中的变量 第十六条:考虑用生成起来改成直接返回列表的函数 第十七条:在参数上面迭代时,要多加小心 第十八条:用数量可变的位置参数减少视觉杂讯 第十九条:用关键字参数来表达可选的行为 第二十条:用None…
本章需求:首先,让应用轮询新结果并在有所发现时及时通知用户,即使用户重启设备后还没有打开过应用.其次,保证用户在使用应用时不出现新结果通知. 1. 一般intent和broadcast intent 许多系统组件需要知道某些事件的发生(WIFI信号时有时无,电话的呼入等),为满足这样的需求,Andorid提供了broadcast intent 组件. broadcast intent的工作原理类似于之前学过的intent,但不同的是broadcast intent可以被多个叫做broadcast…