**********************************************************************************
类型限定词const
若变量声明中有const,则不能通过赋值、增量、或减量运算来改变量的值。
const float *pt;r//和float const *ptr;一样
float * constptr;--->>>是一个ptr常量指针
必须总是指向同一地址,但指向的值可以改变。
const float * const ptr;
必须总是指向同一位置,且它所指位置存储的值不能改变。
总结:一个位于*左边任意位置的使得数据成为常量,而一个位于*右边的const使得指针自身成为常量
类型限定词volatile
volatile告诉编译器该变量除了可被程序改变以外还可被其他代理改变
volatile int loc; //loc是一个易变的位置
volatile int *ploc;//ploc指向一个易变的位置
类型限定词restrict
restrict限定的指针被认为是提供了对其所指向的数据块的唯一访问途径.
**********************************************************************************
#include<stdio.h>
char color = 'B';
void first(void);
void first1(void);
int main()
{
extern char color;
printf("main1--%c\n",color);
first();
printf("main2--%c\n",color);
first1();
printf("main3--%c\n",color);
return 0;
}
void first(void)
{
char color;
color='R';
printf("first--%c\n",color);
}
void first1(void)
{
char color;
color='G';
printf("first1--%c\n",color);
}
**********************************************************************************
#ifdef、#else和#endif指令
#ifdef MAVIS
#include"horse.h" //如果已经用#define定义了MAVIS,则执行这里的指令
#define STABLES 5
#else
#include"cow.h"
//如果没有用#define定义了MAVIS,则执行这里的指令
#define STABLES 15
#endif
**********************************************************************************
#include<stdio.h>
#define JUST_CH
#define LIMIT 4
int main()
{
int i;
int total=0;
for(i=1;i<=LIMIT;i++)
{
total+= 2*i*i+1;
#ifdef JUST_CH
printf("i=%d,running total = %d\n",i,total);
#endif
}
printf("Grand total = %d\n",total);
return 0;
}
**********************************************************************************
qsort()的使用:
#define NUM 40
int mycomp(const void *p1,const void *p2);
doublea[NUM];-->>接着对数组进行值初始化
qsort(a,NUM,sizeof(double),mycopm);
int mycomp(const void *p1,const void*p2)//按从小到大排序
{
//需要使用指向double的指针访问值
const double *a1=(const double *)p1;
const double *a2=(const double*)p2;
if(*a1<*a2)
return -1;
else if(*a1==*a2)
return 0;
else
return 1;
}
**********************************************************************************
类型限定词const
**********************************************************************************
#include<stdio.h>
char color = 'B';
void first(void);
void first1(void);
int main()
{
}
void first(void)
{
char color;
color='R';
printf("first--%c\n",color);
}
void first1(void)
{
char color;
color='G';
printf("first1--%c\n",color);
}
**********************************************************************************
#ifdef、#else和#endif指令
#ifdef MAVIS
#else
#endif
**********************************************************************************
#include<stdio.h>
#define JUST_CH
#define LIMIT 4
int main()
{
#ifdef JUST_CH
#endif
}
**********************************************************************************
**********************************************************************************