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语句
原文:http://www.cnblogs.com/chen-/p/3705061.html