1.枚举类型、声明指针、常量、存储类型、运算符优先级记忆

简介: 原文:1.枚举类型、声明指针、常量、存储类型、运算符优先级记忆1.枚举类型 枚举(enumerated)类型就是指它的值为符号常量而不是字面值的类型,以下面的这种形式来声明:enum   Jar_Type {CUP,PINT,GALLON,OUART}; 这条语句声明了一个类型,称为 Jar_Type。
原文: 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

目录
相关文章
|
存储 C语言
文件的类型指针
文件的类型指针
324 0
|
编译器 C语言
void的指针类型
void的指针类型
203 0
|
安全 程序员 C语言
【C语言】指针的爱恨纠葛:常量指针vs指向常量的指针
在C语言中,“常量指针”和“指向常量的指针”是两个重要的指针概念。它们在控制指针的行为和数据的可修改性方面发挥着关键作用。理解这两个概念有助于编写更安全、有效的代码。本文将深入探讨这两个概念,包括定义、语法、实际应用、复杂示例、最佳实践以及常见问题。
566 7
|
C语言 C++
【C语言】指针篇-一篇搞定不同类型指针变量-必读指南(3/5)
【C语言】指针篇-一篇搞定不同类型指针变量-必读指南(3/5)
276 1
|
存储 安全 Java
Go语言学习10-指针类型
【4月更文挑战第11天】本篇 Huazie 向大家介绍 Go语言的指针类型
231 2
Go语言学习10-指针类型
Go: struct 结构体类型和指针【学习笔记记录】
本文是Go语言中struct结构体类型和指针的学习笔记,包括结构体的定义、成员访问、使用匿名字段,以及指针变量的声明使用、指针数组定义使用和函数传参修改值的方法。
|
编译器 C++
函数指针和函数对象不是同一类型怎么替换
函数指针和函数对象不是同一类型,为何可替换用作同一函数的参数
|
存储 安全 Go
深入理解 Go 语言中的指针类型
【8月更文挑战第31天】
353 0
|
存储 安全 C语言
void指针类型详解
void指针类型详解
266 2
|
Java 程序员 Linux
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
探索C语言宝库:从基础到进阶的干货知识(类型变量+条件循环+函数模块+指针+内存+文件)
219 0