c语言声明
来源:互联网 发布:朋友印象是什么软件 编辑:程序博客网 时间:2024/05/18 00:20
1: 声明的语法:
2:存储类型
++++++++++++++++++
注意auto 是在函数里面的默认的,extern 是在函数外面的时候的默认的
4:声明符号
(a) 存储类型,(b)存储限定,(c)类型说明 (d)声明符
例如:static const int i;
(a)存储类型包括:auto(一般是在函数题里面,用完就不要了),static(函数结束才释放), extern(在外面声明的) 和register(寄存器变量,保存在寄存器中而不是内存中)
(b)类型限定符包括:const(常量,值不可修改了) 和volatile(这个一般会用在嵌入式的底层里面用到的)
(c)类型说明符包括:void,char,short,int,long,float,double,signed,unsigned,结构,联合和枚举
2:存储类型
变量的三个特性:
a,存储期限,氛围自动存储期限和静态存储期限
b,作用域,分为块作用域和文件作用域
c,链接,分为外部链接,内部链接和无链接
外部链接的变量可以被几个文件共享
内部链接的变量智能在当前文件共享,例如static int i;
无链接的变量属于单独的函数,不能被共享
++++++++++++++++++
//// main.c// ShengMing//// Created by 千 on 16/7/24.// Copyright © 2016年 kodulf. All rights reserved.//#include <stdio.h>int a;//静态存储期限//文件作用域//外部链接,可以被几个文件共享static int c;//快外的static 由外部链接转换为内部链接,//内部链接,只能在当前的文件共享void f(){ //自动存储期限 //无链接,属于单独的函数,不能被共享,只有自己的函数内部能用 int b; //块作用域,片警 static int d;//快内的static 变量由自动存储期限改为静态存储期限。 }int main(int argc, const char * argv[]) { // insert code here... printf("Hello, World!\n"); int age =20; static const int a = 10; //后面这个顺序是错误的 const static int a = 10 ; //不可以修改为a=200;因为const定义的是不可修改的 return 0;}
++++++++++++++++++
注意auto 是在函数里面的默认的,extern 是在函数外面的时候的默认的
2.2 auto 存储类型,只属于某个代码块(就是函数里面),具有自动存储期限,块作用域并且无链接,(auto 一般是在函数题里面,用完就不要了 可以不写,默认的就是)
2.3 static 存储类型,快外的static 由外部链接转换为内部链接,快内的static 变量由自动存储期限改为静态存储期限。
2.4 extern 存储类型,可以是几个文件共享该变量,例如extern int i;i变量只是声明而不是定义,一个变量可以声明多次,但职能定义一次。extern声明的变量始终是具有静态存储期限(extern 一般是在函数体外,就是快外,默认的就是extern的)
2.5 函数的存储类型,只有两个extern 和static,extern具有外部链接,static 具有内部链接,如果不佳任何关键字默认具有外部链接
const 有点像宏定义,
4:声明符号
规律:
a,始终从内向外读声明符
b,在作选择时始终先[]后()后*
由标识符*号()以及[]来组成,这些符号可以
int *ap[10];//这个叫指针数组呢,还是数组指针呢?这个由一个规律
// []优先级高,所以ap是指向数组的指针
float *fp(float);//()优先级高,所以fp是返回指针的数组
void (*pf)(int);//*pf在括号里面pf是指针,后面跟着(),所以pf必须只想函数
0 0
- c语言的声明
- c语言声明
- C语言函数声明
- C语言声明语法
- C语言声明
- C语言复杂声明
- c语言的声明
- C语言复杂声明
- C语言 类型声明
- C语言声明
- C语言复杂声明
- C语言声明解析
- C语言的声明
- c语言的声明
- C语言函数声明
- C语言的声明
- C语言声明一览
- C语言的声明
- poj -2559
- JAVA集合体系回顾(2)
- Ubuntu 中 gconf, dconf, gsettings 和 dconf-editor 的功能与使用
- C++之char*,const char*和string的相互转换
- 和四大组件关系最紧密的Intent-----意图(一)
- c语言声明
- S5PV210的定时器原理及要点----(1)
- helloworld
- FastDFS 小文件优化策略
- 配置vim for python
- leetcode题解日练--2016.7.23
- FastDFS合并存储策略
- 【Android】状态栏通知Notification、NotificationManager详解
- C++ char[] 与 string 转换