1.register

register 变量必须是能被CPU寄存器所接受的类型(32 位机器 寄存器为32位),必须是单个的值,长度小于或等于整形的长度
不能用&来获取register 变量的地址。
2static

static 在代码块外或函数声明 用于更改标识符的链接属性

static 在代码块内的变量定义 用于更改存储类型

1
2
3
4
5
6
7
8
9
static int c;//链接属性为internal , 存储属性:静态,作用域:整个文件作用域
 
  int d(int e1,int e2)//e1 e2 原型作用域,即 e1 和e2 不能相同
 
{
 
  static int g=20; //代码块内 链接属性为无, 存储属性:静态,作用域:整个函数作用域
 
}

static int c;//链接属性为internal , 存储属性:静态,作用域:整个文件作用域

static int g=20; //代码块内 链接属性为无, 存储属性:静态,作用域:整个函数作用域

g在程序运行完后,不会被销毁,重新调用函数,g不会再被初始化。

3.c的编程规范(部分)

1.变量名要可读

2.注意字母l和数字1,字母o和数字0;

3.宏定义,枚举类型,只读变量采用大写命名。

4,单字符变量名尽量不要用。

4.sizeof

sizeof 为c语言中32个关键字之一。

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
 
void  main()
{
    double i=1.1;
    sizeof(double);//正确
    sizeof(i);//正确
    sizeof double;//错误
    sizeof i;//正确
}

sizeof i;//正确说明sizeof 为关键字而不是函数

一般应用时都加()。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
void func(int b[3])
{
printf("%d \n",sizeof(b));
}
void  main()
{
double b[3]={1,2,3};
func(b);
printf("%d \n",sizeof(b));
printf("%d \n",sizeof(b[1]));
printf("%d \n",sizeof(&b));
printf("%d \n",sizeof(&b[1]));
}

sizeof(b) 返回的是数组的大小以4个字节为单位,3个double类型 ,故为24

sizeof(b[1])返回的是double类型 故为 8

void func(int b[3])

{

printf("%d \n",sizeof(b));

}

说明参数传递的是指针

printf("%d \n",sizeof(&b));
printf("%d \n",sizeof(&b[1]));

均为指针,故为4

1
2
sizeof (int) *q 求int的字节数后 乘q *在此处为乘法符号
sizeof (int *q)求指针的字节数

5 if else

float变量与 0比较

1
if(a!=0)不应该这么写,
1
if((a>=-EPSINON)&&(a<=EPSINON)应该这样写

指针变量与零值比较

1
if(NULL==p)

if else 语句书写时注意

1.一般将常量放在前面,这样如果将== 错写成 =,则成了赋值语句,给常量赋值是非法的,故可以检查出错误。

2,if 后不管有多少条语句,都要加{}

3.将发生概率大的写下前面

6swith case

1 case 后只能为 字符型或整型的常量或常量表达式。

2 每种情况都应该写入case 语句,不要将 最后一种情况写入 default语句





c 深度剖析 1的更多相关文章

  1. 《AngularJS深度剖析与最佳实践》简介

    由于年末将至,前阵子一直忙于工作的事务,不得已暂停了微信订阅号的更新,我将会在后续的时间里尽快的继续为大家推送更多的博文.毕竟一个人的力量微薄,精力有限,希望大家能理解,仍然能一如既往的关注和支持sh ...

  2. ASP.NET Core管道深度剖析(2):创建一个“迷你版”的管道来模拟真实管道请求处理流程

    从<ASP.NET Core管道深度剖析(1):采用管道处理HTTP请求>我们知道ASP.NET Core请求处理管道由一个服务器和一组有序的中间件组成,所以从总体设计来讲是非常简单的,但 ...

  3. Objective-C类成员变量深度剖析

    目录 Non Fragile ivars 为什么Non Fragile ivars很关键 如何寻址类成员变量 真正的“如何寻址类成员变量” Non Fragile ivars布局调整 为什么Objec ...

  4. 大众点评开源分布式监控平台 CAT 深度剖析

    一.CAT介绍 CAT系统原型和理念来源于eBay的CAL的系统,CAT系统第一代设计者吴其敏在eBay工作长达十几年,对CAL系统有深刻的理解.CAT不仅增强了CAL系统核心模型,还添加了更丰富的报 ...

  5. 深度剖析WordPress主题结构(转)

    利用强大的技术,可以把基于wordpress的网站做成各种各样的形式,这除了要求wordpress主题开发人员精通html,PHP,JS,CSS等技术,还需要开发者掌握WordPress主题的框架. ...

  6. LCD深度剖析

    LCD 深度剖析 来源:http://blog.csdn.net/hardy_2009/article/details/6922900 http://blog.csdn.net/jaylondon/a ...

  7. WCF技术剖析之十九:深度剖析消息编码(Encoding)实现(下篇)

    原文:WCF技术剖析之十九:深度剖析消息编码(Encoding)实现(下篇) [爱心链接:拯救一个25岁身患急性白血病的女孩[内有苏州电视台经济频道<天天山海经>为此录制的节目视频(苏州话 ...

  8. 大兴雷克萨斯深度剖析2013款LS460L_深圳大兴雷克萨斯_太平洋汽车网

    大兴雷克萨斯深度剖析2013款LS460L_深圳大兴雷克萨斯_太平洋汽车网 大兴雷克萨斯深度剖析2013款LS460L

  9. Java反射机制剖析(四)-深度剖析动态代理原理及总结

    动态代理类原理(示例代码参见java反射机制剖析(三)) a)  理解上面的动态代理示例流程 a)  理解上面的动态代理示例流程 b)  代理接口实现类源代码剖析 咱们一起来剖析一下代理实现类($Pr ...

  10. 【渗透课程】第二篇下-HTTP协议的请求与响应深度剖析

    [渗透课程]第二篇下-HTTP协议的请求与响应深度剖析 HTTP1.1目前支持以下7种请求方法: 常见的MIME类型如下: 第一个数字有五种可能的取值: 目录 什么是请求方法?什么是请求头? HTTP ...

随机推荐

  1. HMM TOOL

    HMM隐马尔科夫模型 MATLAB 工具包对各种数据的处理 HMM 工具包下载地址: http://www.cs.ubc.ca/~murphyk/Software/HMM/hmm.html 工具包使用 ...

  2. long long 读数scanf的转换 #define

    在win32的评测系统下,long long scanf 要用"%I64d" ,而网上评测和考试要用"%lld",因此,难免有点麻烦,还会runtime err ...

  3. C# 数据流操作 Stream 相关

    FileStream:對文件執行讀取與寫入 MemoryStream:對內存進行讀取與寫入 BufferedStream:對緩沖器進行讀取與寫入 StreamReader/StreamWriter 命 ...

  4. HDU 1358 简单kmp

    题目大意: 找到所有的可组成连续字符串相连的位置,和循环字符串的个数 #include <cstdio> #include <cstring> #include <alg ...

  5. 支持.NET和移动设备的XLS读写控件XLSReadWriteII下载地址及介绍

    原文来自龙博方案网http://www.fanganwang.com/product/3085转载请注明出处 读写任何单元值 数字型.字符型.布尔型以及错误型.但是你了解日期和时间型单元吗?在Exce ...

  6. java基础之 溢出

    堆溢出 堆(Heap)是Java存放对象实例的地方. 堆溢出可以分为以下两种情况,这两种情况都会抛出OutOfMemoryError:java heap space异常: 1.内存泄漏 内存泄漏是指对 ...

  7. Unity场景道具模型拓展自定义编辑器

    (一)适用情况 当游戏主角进入特定的场景或者关卡,每个关卡需要加载不同位置的模型,道具等.这些信息需要先在unity编辑器里面配置好,一般由策划干这事,然后把这些位置道具信息保存在文件,当游戏主角进入 ...

  8. xlistview的XML(头)xlistview_header

    <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=" ...

  9. 2013年7月份第4周51Aspx源码发布详情

    大型企业通用管理ERP源码  2013-7-26 [VS2010]2013.7.4更新内容:1.修复决策模式-客户等级不能保存问题.2.修复企业知识库有报错问题.3.修复运营模式-人力资源分析模块-在 ...

  10. iOS 7 教程:定制iOS 7中的导航栏和状态栏

    目录(?)[-] iOS 7中默认的导航栏 设置导航栏的背景颜色 在导航栏中使用背景图片 定制返回按钮的颜 修改导航栏标题的字体 修改导航栏标题为图片 添加多个按钮 修改状态栏的风格 隐藏状态栏 总结 ...