1.枚举类型、声明指针、常量、存储类型、运算符优先级记忆
1.枚举类型
枚举(enumerated)类型就是指它的值为符号常量而不是字面值的类型,以下面的这种形式来声明:enum Jar_Type {CUP,PINT,GALLON,OUART}; 这条语句声明了一个类型,称为 Jar_Type。而enum {CUP,PINT,GALLON,OUART}; 这条语句声明表示这种类型的变量以整型的方式存储,这些符号名的实际值都是整型值。这里CUP是0,PINT是1,以此类推。下面看一下一个具体的例子:
1 #include<stdio.h>2 #include<stdlib.h>3 int main()4 {5 enum{red,blue,white};6 printf("%d,%d,%d",red,blue,white);7 system("pause");8 return 0;9 }
结果如下:
如果换成enum{red=1,blue=3,white};结果又为多少呢
适当的时候可以为这些符号名指定特定的整型值。只对部分符号名赋值也是合法的,如果某个符号名未显式指定一个值,那么它的值就比前面一个符号名的值大1。
2.声明指针
在声明指针变量时,你也可以为它指定初始值,例如:char *message="Hello world!";这条语句把message声明为一个指向字符的指针,并用字符串常量中的第1个字符的地址对该指针进行初始化。这个声明的理解,尤其要注意,表面上看上去初始值似乎是赋给表达式*message,事实上它是赋给message本身的。换句话说,前面一个声明相当于:
char *message;
message="Hello world!";看下面这个例子:
1 #include<stdio.h> 2 #include<stdlib.h> 3 int main() 4 { 5 char *message="hello,world!"; 6 //char *message; 7 //message="hello,world!"; 8 printf("%s",message); 9 printf("\nhello.world!");10 system("pause");11 return 0;12 }
结果如下:
3.常量
int *pi; pi是一个普通的指向整型的指针。
int const *pci; 则pci是一个指向整型常量的指针。你可以修改指针的值,但是你不能修改它所指向的值。
int * const cpi; 则声明cpi为一个指向整型的常量指针。此时指针是常量,它的值无法修改,但你可以修改它所指向的整型的值。
4.存储类型
变量的存储类型是指存储变量值的内存类型。变量的存储类型决定变量何时创建、何时销毁以及它的值将保持多久。有三个地方可以用于存储变量:普通内存、运行是堆栈、硬件寄存器。在这三个地方存储的变量具有不同的特性。
5.运算符优先级记忆:单目运算到双目运算符,优先级高到低:算术、关系、逻辑、运算。
2011-11-23 21:23:44
转载于:https://www.cnblogs.com/candyming/archive/2011/11/23/2260805.html
1.枚举类型、声明指针、常量、存储类型、运算符优先级记忆相关推荐
- <C和指针>---生存期和存储类型
1.生存期 1.c语言的变量拥有俩种生存期 --静态存储期 --自动存储期 2.相关内容 一:具有文件作用域的变量属于静态存储期,函数也属于静态存储期.属于静态存储期的变量在程序执行期间将之一占据存储 ...
- typescript学习笔记1-tsconfig.json配置和变量类型声明
一,tsconfig.json {// 编译器选项"compilerOptions": {/* 基本选项 */"target": "es5" ...
- C语言作用域、链接属性和存储类型
C/C++中作用域详解 作用域 编译器可以确认的4种作用域-代码块作用域.文件作用域.函数作用域和原型作用域,一般来说,标识符(包括变量名和函数名)声明的位置决定它的作用域. (1)代码块作用域 一对 ...
- C语言之变量存储类型与链接属性
文章出自个人博客https://knightyun.github.io/2018/04/28/c-storage-type,转载请申明 C语言中一个重要的东西就是弄清申明变量的类型.作用域.存储类型. ...
- 【C】C语言函数中的变量(包括:作用域、存储类型)
局部变量和全局变量 C语言中变量按其作用域分,可分为局部变量和全局变量,具体的解释为: 局部变量(内部变量):在定义它的函数内有效,但是函数返回后失效: 全局变量(外部变量):在所有源文件内均有效.在 ...
- C语言——生存期和存储类型、递归、递归求解汉诺塔、快速排序
目录 一.生存期和存储类型 1.生存期 2.存储类型 3.自动变量(auto) 4.寄存器变量(register) 5.静态局部变量(static) 6.static 和 extern 二.递归 1. ...
- TypeScript详解十六:类型声明(declare)
目录 前言 一.类型声明的作用? 1.1 declare 关键字 1.2 示例 二.常见的几种类型声明 2.1 普通类型声明 2.2 外部枚举 2.3 命名空间 三.类型声明文件 3.1 模拟类型声明 ...
- c语言存储汉字的变量类型,C语言之变量存储类型与链接属性
C语言中一个重要的东西就是弄清申明变量的类型.作用域.存储类型.链接属性等,例如是整型还是浮点型,存储于普通内存还是堆栈或者寄存器,作用于全局还是局部,能否被其他文件 引用等. 链接属性 申明变量或函 ...
- Go 类型别名与类型声明的区别
语法 type D = int // 类型别名 type I int // 类型声明 复制代码 注:类型别名有一个等号,类型声明没有等号 区别 类型别名和原类型完全一样,只不过是另一种叫法而已,而类型 ...
- C语言指针类型和所指数据的类型要一致吗
C语言指针类型和所指数据的类型必须要一致吗 网上很多答案是:"必须,不一致会出现语法错误",但是 no try no know. 首先看下我的环境: 下面是代码: #include ...
最新文章
- [20180806]tune2fs调整保留块百分比.txt
- ncnn tensorrt
- 使用 autossh 建立反向 SSH 隧道管理个人计算机
- vue中实现美团双级联动菜单
- php 实现贪吃蛇游戏,C++实现简单贪吃蛇游戏
- think route.php,ThinkPHP5—路由(route)详解
- 程序员必修课--sql思维举重训练
- YOLO-V4解读:速度与精度的完美结合
- Acrok MXF Converter for Mac(专业的MXF格式视频转换工具)
- 低级鼠标钩子WH MOUSE LL
- 第四方支付平台程序源码_云计费系统源码
- 共探机遇 2018中国产业互联网化纤创新者大会华丽启幕...
- Python数据有效性DataValidation模块
- 水溶性CdTe/CdSe/ZnS量子点 深紫外发光光谱PL620nm-820nm
- 小学生计算题软件产品设计
- IT项目开发团队建设与管理总结(转)
- android+打开apk文件怎么打开,安卓手机apk文件怎么打开
- line-height详解
- 使用bat批处理脚本自动设置IP和IE代理
- List.toArray
热门文章
- 把博客园自己博客皮肤改了下
- Css/Js推荐类库
- sublime设置代码缩进
- [转]什么是lib文件,lib和dll的关系如何
- 【转】郭敬明作品中100句经典的话
- Composite UI Application Block(Cab)比较详细的一片文章
- [Flex] flex的安全沙箱,你保障了安全的同时也害苦了多少我这样的人那
- java框架之SpringBoot(16)-分布式及整合Dubbo
- Docker核心技术与实现原理
- spring IOC快速入门,属性注入,注解开发