1. c程序设计语言 第四章:运算器
2.--- 栈 与 navigation view Contrller
栈;顺序栈和栈的链式表示
栈的内存分配,首先分配一个基本容量,当容量不足的时候再逐级扩大。
typedef struct
{
elemType *base;
elemType *top;
int stacksize ; //当前栈可使用的最大容量。
}SqStack;
#include <stdio.h>
#include <stdlib.h>
#define STACKINITSIZE 100
#define STACKINCREMENT 10
typedefstruct{
char * base;
char * top;
int stacksize;
}SqStack;
voidInitStack(SqStack *s)
{
s = (SqStack *)malloc(STACKINITSIZE *sizeof(char));
if(s->base==NULL)
{
printf("the initstack is error!\n");
}
s->top = s->base;
s->stacksize = STACKINITSIZE;
}
-push(SqStack &S,char &c);
-pop(SqStack&S,char &e);
//表达式求值
//计算器的算法
//栈与递归的应用
3. 标识符: 一般不要使用_,内部使用的,一般不在程序中使用。//用英语作为变量名,尽可能的不要使用简写和拼音。
4.宏 #define PI 3.1415926
5.const;这个值是不能被改变的,也不能再被赋值。
const int * const ptr; //?
函数的声明 void func( const int a) 函数内部 a的zhi 不改变。
6.变量:必须是先赋值在使用 。
7.变量在内存里面的位置,使用&和指针进行调用查看地址。和栈有一定的联系。
8.基本类型: 值在内存里面的字节数。 sizeof( a) = sizeof(int a[10]) int a [10] ;
char 1B int 4 float 4,double 8 ,sizeof(int);
强制类型转换: int a = 3; char *p = (char *)&a;
char是一个特殊的整形数。
9.数组: 相同元素 在 连续的地址下存放。使用{ }进行初始化。
10指针;指向一个值在内存里的位置。往往是对 子函数,数组,结构体进行处理。
11结构体:不同类型的元素的组合体。结构体面向的是面向对象的思想。可以用数组来模拟结构体?
9 10 11统称为复合类型。
12.运算符: 关键的几个运算符: ++ --,三目运算符?:。逻辑的短路和断路运算。
13.自动类型转换 。运算符类型不一致的时候和赋值语句。
14.指针操作 void()
15. 作用域 :函数内部和函数外部
函数外部:从定义的地方开始 到本文件结束的位置。
函数内部:从定义的地方开始到这个函数结束的位置。
16.文件内和文件外 的作用域
• extern int c = 3;如果想在别的文件中使用的话。extern。
• 不希望被外部的文件所使用。 static 限制本文件才可以使用这个变量。
• 函数里面使用的static。static int a = 3;多次使用的a,只有一份拷贝。 //?
17.默认 extern;声明一个在其他文件里面定义的变量或者函数的时候才会使用 extern。
register 把变量放在寄存器里面。多用于for循环,来提高效率。
18const :
▪ 指针是否是 const ?int *const p = &a, a= 4;a=5;
▪ 指针指向的值 是否是 const? const int *p = &a; a= 4;a=5;
▪ int (* const p)[10];
▪ constvoid *p1,void *p2; p1 = p2 ; p2 =p1; //??
▪ const a[10] ;
19. dash //文档的下载