文档库 最新最全的文档下载
当前位置:文档库 › 指针常量、指针变量、常量指针的区分

指针常量、指针变量、常量指针的区分

指针常量、指针变量、常量指针的区分

在C/C++中关键字const用来定义一个只读的变量或者对象,有如下优点 :

(1)便于类型检查,如函数的函数 fun(constint a)a的值不允许变,这样便于保护实参; (2)功能类似与宏定义,方便参数的修改和调整。如constint max = 100;

(3)节省空间,如果再定义a = max,b=max。。。就不用在为max分配空间了,而用宏定义的话就一直进行宏替换并为变量分配空间;

(4)为函数重载提供参考

而C/C++中常把指针和常量混合起来使用,其最大的用途就是作为函数的形式参数,保证实参在被调函数中的不可改变的特性。

一、

首先一定要明白哪种定义方式是常量指针,哪种是指针常量,这里可以记住三句话加深记忆:(1)* (指针)和const(常量)谁在前先读谁;

(2)*象征着地址,const象征着内容;

(3)谁在前面谁就不允许改变。

举例说明:

常量指针p1:指向的地址可以变,但内容不可以重新赋值,内容的改变只能通过修改地址指向后变换。

p1 = &a是正确的,但 *p1 = a是错误的。

指针常量p2:指向的地址不可以重新赋值,但内容可以改变,必须初始化,地址跟随一生。p2= &a是错误的,而*p2 = a 是正确的。

指针常量和指针变量的区别就是是否使用了const修饰符修饰,凡是有const修饰的指针都是指针常量,否则就是指针变量。

C指针函数习题

C++指针函数习题 一、选择题 1.以下程序的运行结果是()。 sub(int x, int y, int *z) { *z=y-x; } void main() { int a,b; sub(10,5,&a); sub(7,a,&b); cout< #include<>

烽火c++笔试

文件读写 无论读写都要包含头文件 读: 1.int a,b; 2.ifstream infile; 3.infile.open("myfile.txt"); //注意文件的路径 4.infile>>a>>b; //两行数据可以连续读出到变量里 5.infile.close() 6. 7.//如果是个很大的多行存储的文本型文件可以这么读: 8.char buf[1024]; //临时保存读取出来的文件内容 9.string message; 10.ifstream infile; 11.infile.open("myfile.js"); 12.if(infile.is_open()) //文件打开成功,说明曾经写入过东西 13.{ 14.while(infile.good() && !infile.eof()) 15.{ 16. memset(buf,0,1024); 17. infile.getline(buf,1204); 18. message = buf; 19. ...... //这里可能对message做一些操作 20. cout<

22.infile.close(); 23.} 写: 1.ofstream outfile; 2.outfile.open("myfile.bat"); //myfile.bat是存放数据的文件名 3.if(outfile.is_open()) 4.{ 5.outfile<

指向指针的指针——彻底搞定C指针

彻底搞定C指针---指向指针的指针 彻底搞定C指针---指向指针的指针一.回顾指针概念: 今天我们又要学习一个叫做指向另一指针地址的指针。让我们先回顾一下指针的概念吧! 当我们程序如下申明变量: short int i; char a; short int * pi; 程序会在内存某地址空间上为各变量开辟空间,如下图所示。 内存地址→6 7 8 9 10 11 12 13 14 15 ------------------------------------------------------------------------------------- … | | | | | | | | | | ------------------------------------------------------------------------------------- |short int i |char a| |short int * pi| 图中所示中可看出: i 变量在内存地址5的位置,占两个字节。 a变量在内存地址7的位置,占一个字节。 pi变量在内存地址9的位置,占两个字节。(注:pi 是指针,我这里指针的宽度只有两个字节,32位系统是四个字节) 接下来如下赋值: i=50; pi=&i; 经过上在两句的赋值,变量的内存映象如下: 内存地址→6 7 8 9 10 11 12 13 14 15 -------------------------------------------------------------------------------------- … | 50 | | | 6 | | | | -------------------------------------------------------------------------------------- |short int i |char a| |short int * pi| 看到没有:短整型指针变量pi的值为6,它就是I变量的内存起始地址。所以,这时当我们对*pi进行读写操作时,其实就是对i变量的读写操作。如:*pi=5; //就是等价于I=5; 你可以回看本系列的第二篇,那里有更加详细的解说。 二.指针的地址与指向另一指针地址的指针 在上一节中,我们看到,指针变量本身与其它变量一样也是在某个内存地址中的,如pi的内存起始地址是10。同样的,我们也可能让某个指针指向这个

指针变量作为函数参数

用名作为其他变量名地别名. ; 等价于; ()声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名地一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元.故:对引用求地址,就是对目标变量求地址.与相等. ()不能建立数组地引用.因为数组是一个由若干个元素所组成地集合,所以无法建立一个数组地别名. 引用应用 、引用作为参数 引用地一个重要作用就是作为函数地参数.以前地语言中函数参数传递是值传递,如果有大块数据作为参数传递地时候,采用地方案往往是指针,因为这样可以避免将整块数据全部压栈,可以提高程序地效率.但是现在(中)又增加了一种同样有效率地选择(在某些特殊情况下又是必须地选择),就是引用. 【例】: ( , ) 此处函数地形参, 都是引用 { ; ; ; ; } 为在程序中调用该函数,则相应地主调函数地调用点处,直接以变量作为实参进行调用即可,而不需要实参变量有任何地特殊要求.如:对应上面定义地函数,相应地主调函数可写为: ( ) { ; >>>>; 输入两变量地值 (); 直接以变量和作为实参调用函数 <<<< ' ' <<; 输出结果 }

上述程序运行时,如果输入数据并回车后,则输出结果为. 由【例】可看出: ()传递引用给函数与传递指针地效果是一样地.这时,被调函数地形参就成为原来主调函数中地实参变量或对象地一个别名来使用,所以在被调函数中对形参变量地操作就是对其相应地目标对象(在主调函数中)地操作. ()使用引用传递函数地参数,在内存中并没有产生实参地副本,它是直接对实参操作;而使用一般变量传递函数地参数,当发生函数调用时,需要给形参分配存储单元,形参变量是实参变量地副本;如果传递地是对象,还将调用拷贝构造函数.因此,当参数传递地数据较大时,用引用比用一般变量传递参数地效率和所占空间都好. ()使用指针作为函数地参数虽然也能达到与使用引用地效果,但是,在被调函数中同样要给形参分配存储单元,且需要重复使用"*指针变量名"地形式进行运算,这很容易产生错误且程序地阅读性较差;另一方面,在主调函数地调用点处,必须用变量地地址作为实参.而引用更容易使用,更清晰. 如果既要利用引用提高程序地效率,又要保护传递给函数地数据不在函数中被改变,就应使用常引用. 、常引用 常引用声明方式:类型标识符引用名目标变量名; 用这种方式声明地引用,不能通过引用对目标变量地值进行修改,从而使引用地目标成为,达到了引用地安全性. 【例】: ; ; ; 错误 ; 正确 这不光是让代码更健壮,也有些其它方面地需要. 【例】:假设有如下函数声明:

常量指针_指针常量

1.char const * p ,char * const p,char const * const p的区别 常量指针、指针常量、指向常量的指针常量 例程: xiajiashan@ubuntu:~/linxun/pointer_const$ cat -n pointer.c 1 #include 2 3 int main(void) 4 { 5 unsigned int a = 9; 6 7 unsigned int const *p1;//常量指针,谁在前,先读谁,const在前 8 unsigned int * const p2;//指针常量,谁在前,先读谁,*在前,先读指针 9 10 p1 = &a; //p1是常量指针,即p1指向一个常量,p1可变,但*p1不可变。 11 *p1 = a; //*p1在定义的时候系统已经分配了值,这里再赋值编译出错 12 p2 = &a; //p2是指针常量,地址不能变,即p2不可变,但*p2可变 13 *p2 = a; // 14 15 printf("p1 = 0x%p\n",p1); 16 printf("*p1 =0x%x\n",*p1); 17 18 printf("p2 = 0x%x\n",(unsigned int const)p2); 19 printf("*p2 =0x%x\n",*p2); 20 } xiajiashan@ubuntu:~/linxun/pointer_const$ gcc pointer.c pointer.c: In function ‘main’: pointer.c:11:5: error: assignment of read-only location ‘*p1’ pointer.c:12:5: error: assignment of read-only variable ‘p2’ xiajiashan@ubuntu:~/linxun/pointer_const$ 这里,printf("p1 = 0x%p\n",p1);//用%p是打印指针,即地址,如果用%x将有警告。 printf("p2 = 0x%x\n",(unsigned int const)p2); //强转成unsigned int const避免警告,因为%x 默认是unsigned int类型。

指针练习题

. 编程题 1用指向数组的指针变量输出数组的全部元素 2 使用函数调用,形参为指针,实参为数组,把一个数组逆序存放在输出 练习题: 一判断题 1.指针是变量,它具有的值是某个变量或对象的地址值,它还具有一个地址值,这两个地址值是相等的。 2.指针的类型是它所指向的变量或对象的类型。 3.定义指针时不可以赋初值。 4.指针可以赋值,给指针赋值时一定要类型相同,级别一致。5.指针可以加上或减去一个int型数,也可以加上一个指针。6.两个指针在任何情况下相减都是有意义的。 7.数组元素可以用下标表示,也可以用指针表示。 8.指向数组元素的指针只可指向数组的首元素。 9.字符指针是指向字符串的指针,可以用字符串常量给字符指针赋值。 10.引用是一种变量,它也有值和地址值。 11.引用是某个变量的别名,引用是被绑定在被引用的变量上。

12.创建引用时要用一个同类型的变量进行初始化。 13.指针是变量,它可以有引用,而引用不能有引用。 ;. . 二单选题 1.下列关于定义一个指向double型变量的指针,正确的是()。A.int a(5);double *pd=a; B.double d(2.5),*pd=&d;C.double d(2.5),*pd=d; D.double a(2.5),pd=d;。).下列关于创建一个int型变量的引用,正确的是(2A.int a(3),&ra=a; B int . a(3),&ra=&a;ra=a;D.int a(3), C.double d(3.1);int &rd=d;.下列关于指针概念的描述中,错误的是()。3 A.指针中存放的 是某变量或对象的地址值.指针的类型是它所存放的数值的类型 B .指针是变量,它也具有一个内存地址值 C .指针的值是可以改 变的D 。.下列关于引用概念的描述中,错误的是()4 A.引 用是变量,它具有值和地址值 B.引用不可以作数组元素 C.引用是变量的别名 D.创建引用时必须进行初始化。++*p相同的是()*p=a5.已知:int a[5],;则与a[0] . B.*++p A++a[0] .C*p++ D.;. . 6.已知:int a[ ]={1,2,3,4,5},*p=a;在下列数组元素地址的表

中国古医指针点穴疗法第十九代传人张双振老师的独门降压方法视频

中国古医指针点穴疗法第十九代传人张双振老师的独门降压方法视频 独门的降压方法 1.降血压的穴位就两个,第一个就是大脚趾的第一个指节和第二个指节的连接处,就是我们说的脚趾窝上,是人体上最敏感的降压反射区,只要用力点按5分钟以上就有明显的降压效果。第二个是在大脚趾的外侧(颈椎哪里),只要用力点按5分钟以上就有明显的降压效果。 2.如果在外面,不方便按脚,还可以按耳朵内侧的降压沟,如果血压高的人,按着这里就有跳的感觉,等这里不跳了,血压就降下来了。这个穴位要10-20多分钟就能见效。可以作为平时的降压保健按。力度适中就行,只要每天按上20分钟,一般坚持一周血压就能降的很好了。

3.祖传降压操金刚指保身大法:把你的手伸起来,用你的大拇指尽量的搓动你的小指、无名指、中指和食指,由小指根到小指、无名指、中指和食指指尖,再到食指、中指、无名指和小指的指根,要用力搓动,刚开始一个手都不习惯,搓动的时候不仅好酸,你转个十几圈,可能三五圈,你会觉得手出汗了,重点在手心那块儿出汗。这是为什么呢?掌心实际是心包经上的劳宫穴,劳宫穴是排解心脏内部的毒素用的。如果是在经常做降压手指操,就等于是在排解心脏内部的毒素。你可以摸摸出的汗肯定是粘粘的,它跟一般的汗是不也一样的,你会感觉是从掌心沁出来的那种汗。黏汗和一般的汗有什么区别?黏汗就是心脏里身上的毒气,所以常年坚持,对血压调节会有非常好的效果。

以上方法是中国古医指针点穴疗法第十九代传人张双振老师的独门降 压方法,效果非常神奇。 古医指针点穴疗法,就是以指代针,意气相合,意到气到,以祛其疾。也就是说用意念和自己身体内家功(也叫内含功)的功法,最后用气到达指尖,针对经络和穴位祛病。

指针练习题

编程题 1用指向数组的指针变量输出数组的全部元素 2 使用函数调用,形参为指针,实参为数组,把一个数组逆序存放在输出 练习题: 一判断题 1.指针是变量,它具有的值是某个变量或对象的地址值,它还具有一个地址值,这两个地址值是相等的。 2.指针的类型是它所指向的变量或对象的类型。 3.定义指针时不可以赋初值。 4.指针可以赋值,给指针赋值时一定要类型相同,级别一致。 5.指针可以加上或减去一个int型数,也可以加上一个指针。 6.两个指针在任何情况下相减都是有意义的。 7.数组元素可以用下标表示,也可以用指针表示。 8.指向数组元素的指针只可指向数组的首元素。 9.字符指针是指向字符串的指针,可以用字符串常量给字符指针赋值。 10.引用是一种变量,它也有值和地址值。 11.引用是某个变量的别名,引用是被绑定在被引用的变量上。 12.创建引用时要用一个同类型的变量进行初始化。 13.指针是变量,它可以有引用,而引用不能有引用。

二单选题 1.下列关于定义一个指向double型变量的指针,正确的是()。 A.int a(5);double *pd=a;B.double d(2.5),*pd=&d;C.double d(2.5),*pd=d;D.double a(2.5),pd=d; 2.下列关于创建一个int型变量的引用,正确的是()。 A.int a(3),&ra=a;B.int a(3),&ra=&a; C.double d(3.1);int &rd=d;D.int a(3),ra=a; 3.下列关于指针概念的描述中,错误的是()。 A.指针中存放的是某变量或对象的地址值 B.指针的类型是它所存放的数值的类型 C.指针是变量,它也具有一个内存地址值 D.指针的值是可以改变的 4.下列关于引用概念的描述中,错误的是()。 A.引用是变量,它具有值和地址值 B.引用不可以作数组元素 C.引用是变量的别名 D.创建引用时必须进行初始化 5.已知:int a[5],*p=a;则与++*p相同的是()。 A.*++p B.a[0] C.*p++ D.++a[0]

张双振老师的独门点穴法

古医指针点穴疗法 第十九代传人张双振老师的独门降压方 独门的降压方法 1.降血压的穴位就两个,第一个就是大脚趾的第一个指节和第二个指节的连接处,就是我们说的脚趾窝上,是人体上最敏感的降压反射区,只要用力点按5分钟以上就有明显的降压效果。第二个是在大脚趾的外侧(颈椎哪里),只要用力点按5分钟以上就有明显的降压效果。 2.如果在外面,不方便按脚,还可以按耳朵内侧的降压沟,如果血压高的人,按着这里就有跳的感觉,等这里不跳了,血压就降下来了。这个穴位要10-20多分钟就能见效。可以作为平时的降压保健按。力度适中就行,只要每天按上20分钟,一般坚持一周血压就能降的很好了。 3.祖传降压操金刚指保身大法:把你的手伸起来,用你的大拇指尽量的搓动你的小指、无名指、中指和食指,由小指根到小指、无名指、中指和食指指尖,再到食指、中指、无名指和小指的指根,要用力搓动,刚开始一个手都不习惯,搓动的时候不仅好酸,你转个十几圈,可能三五圈,你会觉得手出汗了,重点在手心那块儿出汗。这是为什么呢?掌心实际是心包经上的劳宫穴,劳宫穴是排解心脏内部的毒素用的。如果是在经常做降压手指操,就等于是在排解心脏内部的毒素。你可以摸摸出的汗肯定是粘粘的,它跟一般的汗是不也一样的,你会感觉是从掌心沁出来的那种汗。黏汗和一般的汗有什么区别?黏汗就是心脏里身上的毒气,所以常年坚持,对血压调节会有非常好的效果。

以上方法是中国古医指针点穴疗法第十九代传人张双振老师的独门降压方法,效果非常神奇。 古医指针点穴疗法,就是以指代针,意气相合,意到气到,以祛其疾。也就是说用意念和自己身体内家功(也叫内含功)的功法,最后用气到达指尖,针对经络和穴位祛病。 肩周炎:同点清灵穴、大包穴 法如下: 腿疼点:鹤顶穴(膝盖骨正中央))上膝眼(左右各一穴)(膝盖骨上侧中点旁开一寸)下膝眼(左右各一穴)

变量的指针和指针变量的区别是什么

2变量的指针和指针变量的区别是什么。 答;一个变量的地址指出了变量的存储单元在内存中的具体位置,能对变量进行存取操作。这个变量的地址就是变量的指针。指针是一种具有特殊意义的整型数,指针不能存放在一般的整型变量中,必须存放在专门指针的变量中,这类变量就是指针变量。 3 一维数组元素的引用有哪些方式。 答;下标法、地址法、指针法 4 2维数组列地址有哪些计算方法。 答;1 根据数组元素所在的行计算出行地址,然后把行地址转换成行中首元素的地址,再根据数组元素所在的列计算数组元素的地址。 2 根据2维数组的数组元素在存储空间上按行连续存放的特点,每个数组元素的地址等于2维数组元素的首元素地址加上该数组元素相对于首元素位置的偏移量。 3把2维数组的每一行当作一个一维数组,用一维数组元素地址的计算方法计算相应的2维数组元素的地址。 第9章结构体与共用体 1 什么是链表。其中单向链表具有哪些特点。 答;链表是若干个同样类型的结构通过依次串接方式构成的一种动态数据结构。链表中的每一个结构体数据成为结点,链表可以分成单向链表和双向链表 单向链表的特点;1 链表中的结点数据可以改变的 2 结点占用的内存是动态分配内存和动态释放内存函数。 2 对单向链表的常用操作有哪些。 答;对单向链表的常用操作有建立、显示、插入,删除和查找。 3 什么是共用体。 答;共用体是一个集合体。它的各个成员的数据类型可以是不相同的,所有成员共享同一段存储空间,存储空间的大小取决存储单元最大的成员的数据类型。 4 指向结构体类型变量的指针变量引用形式有哪些。 答;有两种形式;【星号指针变量名】。成员名和指针变量名-大于号成员名。 第10章位运算及编译预处理 1 C提供的编译预处理功能有哪些。如何实现。 答;功能有三种;宏定义、文件包含和条件编译,分别用宏定义命令、文件包含命令、条件编译命令实现。 2 文件包含的基本功能是什么。 答;文件包含处理是一个源文件可以将另一个源文件的全部内容包含到本文件中来,作为本文件的一部分,这可以节省程序设计人员的重复劳动。 【3【在C语言中提供了几种什么样的位运算符。 答;-、小于小于、大于大于、 4 文件包含需要注意哪些问题 答;一个井include命令只能指定一个被包含文件,包含多个文件侧需多个井include命令;文件包含可以嵌套,即一个被包含文件中可以包含另一个被包含的文件;在井include命令中,文件名可以用双引号或尖括号括起来。 第11章文件 1 文件的结束标志有哪些。 答;每个文件都有一个结束标志。当文件的位置指针移到文件的结束标志处时,表示文件结束。如何测试文件是否结束,常有2种方法 1 ASCII码文件的结束标志用【-1】表示。

指向函数的指针

指向函数的指针 c/c++ 2010-11-20 13:17:02 阅读41 评论0 字号:大中小订阅首先看这个程序: #include using namespace std; void max(int a, int b) { cout<<"now call max("<b?a:b; cout<

我曾经写过一个命令行程序,有很多命令,于是构着了一个结构的数组,大概是这样 struct{ char *cmd_name; bool (*cmd_fun)(); }cmd_info_list[MAX_CMD_NUM]; 程序中得到一个用户输入的命令字符串后,就匹配这个数组,找到对应的处理函数。 以后每次添加一个命令,只需要加个函数,然后在这个数组中加一个记录就可以了,不需要修改太多的代码。 这可以算是一种用法吧。呵呵。 Windows 中,窗口的回调函数就用到了函数指针。 用VC向导 New Projects ----> Win32 Application ----> A typical "Hello World!" application 其中的WndProc 是WNDPROC 类型的函数typedef LRESULT (CALLBACK* WNDPROC)(HWND, UINT, WPARAM, LPARAM); WndProc 作为窗口的回调函数,用来填充WNDCLASSEX 结构。 WNDCLASSEX wcex; wcex.lpfnWndProc = (WNDPROC)WndProc; void ListTraverse(LinkList L,void (*visit)(int)) { Link p; p=L->next; while(p) { visit(p->data); p=p->next; } return OK; } void print(int c) { printf("%d",c); } ListTraverse(L,print); 这算是个例子吧??? #include #include #include double Add (double x, double y) { return x+y; } double Sub (double x, double y) { return x-y; } double Mul (double x, double y)

寻找穴位的正确方法

寻找穴位的正确方法 确定穴位的位置不要过于死板,在说明穴位正确位置时,常使用“离某处几寸”的说法。实际上,穴位就是按压时有痛感、紧张感或酸麻胀感的地方,没有不要过于死板的量尺寸。 书上标的位置只是一个大致的指引,更重要的是自己在实践中找到穴位。要准确找到穴位有以下几种方法: 1用手指找穴位; 2了解穴位集中地部位; 3使用手指和工具测量。 用手指找穴位 用手指找穴位通常采用触、捏、按三种方法。 触法:用手指触摸皮肤表面,有紧张感、刺痛感、麻胀感的位置就是穴位。 捏法:用拇指和食指轻轻捏起皮肤,有痛感或麻感的位置就是穴位。 按法:用拇指、食指和中指的指腹垂直按压皮肤,发硬,用压痛和紧张感的位置就是穴位。 了解穴位集中的部位 穴位集中的部位:1能摸到脉搏的地方;肌肉与肌肉之间、肌肉与骨骼之间;肌肉或骨骼凹陷处的正中间;脊柱俩侧;椎骨与椎骨之间;神经与血管离皮肤近的地方;骨头突出的地方;关节附近等。

能摸到脉搏的地方,如喉结俩侧、膝关节后窝等处,用手触摸能感到脉搏跳动处有人迎穴、委中穴肌肉与骨骼之间的穴位,如三阴交。肌肉与肌肉之间,如天柱穴;肌肉俩侧有许多穴位,脊骨与脊骨之间,如大椎穴。神经或血管离皮肤近的如眼睛下面的四白穴。骨头突出处,如内踝骨高点上的太溪穴。肘关节附近有曲池穴。 肺经从胸部上外侧的中府穴开始,经前臂的桡侧到肩部到手掌桡侧到拇指桡侧的少商穴为止。功能:调整呼吸器官和心脏的功能,如潮热、心悸、气短、口干、手臂麻木、中热等。 大肠经从食指末端桡侧的商阳穴开始,经手臂到肩部到锁骨下凹到侧颈部到陷到鼻翼旁的迎香穴为止。功能:调整鼻、咽、牙齿、大肠等功能,如鼻塞、咽喉痛、口干、颈部或肩部的肌肉痛和牙痛等。 胃经从眼睛下方的承泣穴开始,经口角到下额到耳前到额角的头维穴的经络;经颈部的人迎穴开始,经锁骨下凹陷过胸部过前腹部过腹股沟过腿到足第二趾末节外侧的厉兑穴为止。功能:调节全身消化器官功能及全身不适等,如便秘、腹泻、下肢消肿、下肢麻木或肿痛。 脾经从足拇指内侧、趾甲根角旁的隐白穴开始,经腿、腹股沟、前腹部、胸部、腋下到第七肋间的大包穴为止。功能:调整消化器官、生殖器官、呼吸器官、神经系统,如恶心、腹泻、下肢消

C++指针常量、常量指针的区别详细说明

指针常量和常量指针 1.定义: 常量指针是指--指向常量的指针,顾名思义,就是指针指向的是常量,即,它不能指向变量,它指向的内容不能被改变,不能通过指针来修改它指向的内容,但是指针自身不是常量,它自身的值可以改变,从而指向另一个常量。 指针常量是指--指针本身是常量。它指向的地址是不可改变的,但地址里的内容可以通过指针改变。它指向的地址将伴其一生,直到生命周期结束。有一点需要注意的是,指针常量在定义时必须同时赋初值。 注:也有人将这两个名称的定义与含义反过来认为:“指针常量:顾名思义它的中心词是“常量” 这是重点,指针就是一个修饰的作用。所以这里的指针还是一个变量,它的内容存放的是常量的地址。常量指针:关键字是指针,它是不能被改变的,因为指针总是指向地址的,所以它的意思是它指向的地址是不能被改变的”。但我个人认为后者不合理,所以使用前者。 2. 使用方法: 使用时写法上的区别:常量指针:const 在*之前指针常量:const在*之后。 当然我们也可以定义常量指针常量,那就需要加上两个const,一前一后!以上只是从定义上给出两者的本质上的不同,在具体使用上,还有很多变化,但万变不离其宗,我们可以根据它的原理分析出各种复杂用法的实质。 3. 使用举例 3.1 常量指针使用: 如const int b, c; int const *a; a = &b; a = &c; 都可以,唯独它指向的内存不能被修改。如:*a=20;这是违法的!错误! 3.2 指针常量使用 如Int a; Int aTest; Int * const p = &a; 表示p是一个常量指针它指向变量a的内存。指针常量不能再用p指向其他变量,如p = & aTest; 错误!可以修改指向内存的值,如:* p = 20; 指针常量声明的时候必须向我那样赋初值。 指针常量也不能释放,用p指向NULL,即 p = NULL; 会在编译时报错 /opt/test/test.c:649: error: assignment of read-only variable `p' 还有一个记住他们不同形式的技巧!看const关键字,他后面的不可修改,如int * const a = &b; 后面是a,则说明a不能修改!

PTA判断题

a=(b=4)+(c=6) 是一个合法的赋值表达式。(1分)T break 可用于循环体中,不可用于switch语句中。(1分)F break 则是结束整个循环过程,不再判断执行循环的条件是否成立。(1分)T C 语言标准格式输出函数printf() 的参数表是由若干个表达式组成。(1分)T C 语言标准格式输入函数scanf() 的参数表中要使用变量的地址值。(1分)T C 语言标准输出操作中,putchar() 函数可以输出显示一个字符串。(1分)F C 语言标准输入操作中,gets() 函数一次只可读取一个字符。(1分)F C 语言标准输入操作中,gets() 函数一次只可读取一个字符。(1分)F C 语言程序实现与其他高级语言一样也要经过编辑、编译连接和运行这样的三步曲。(1分)T C 语言程序在书写上只能是一条语句写一行。(1分)F C 语言程序中, 出现非法字符时会发出错误信息。(1分)T C 语言程序中可以有多个函数, 但只能有一个主函数。(1分)T C 语言程序中可以有多个函数, 但只能有一个主函数。(1分)T C 语言规定: 定义符号常量时必须用大写字母。(1分)F C 语言中, 字符串常量最后一个字符是结束标志, 该结束符是'\0' 。(1分)T C 语言中, 字符串常量最后一个字符是结束标志, 该结束符是'0' 。(1分)F case语句后如没有break,顺序向下执行。(1分)T char *s="C Language";表示s是一个指向字符串的指针变量,把字符串的首地址赋予s。(1分)T continue 不是结束本次循环,而是终止整个循环的执行。(1分)F continue 只能用于循环体中。(1分)T C语言程序是从源文件的第一条语句开始执行的。(1分)F C语言的三种循环不可以互相嵌套。(1分)F C语言的三种循环不可以互相嵌套。(1分)F C语言的三种循环可以互相嵌套。(1分)T C语言的书写格式不会影响程序的可读性。(1分)F C语言的书写格式不会影响程序的可读性。(1分)F C语言函数返回类型的默认定义类型是void。(1分)F C语言源程序的扩展名是c。(1分)T C语言中"%"运算符的运算对象必须是整型. (1分)T C语言中的标识符只能由字母、数字和下划线三种字符组成。。(1分)T C语言中的局部变量如果没有指定初值,则其初值自动设置为0。(1分)F

手掌穴位按摩方法(附穴位图)

手掌穴位按摩方法(附穴位图) 1、胃弱:“吃得太快”是胃弱的最大原因。建议每口至少咀嚼50次。 方法:手掌中央略下方健理三针区(缓刺激、长时间指压)、食指大肠穴、手背三间穴、合谷穴。 2、悸动气喘: 方法:手掌中央心包区、中指中冲、小指少冲、手腕神门穴 3、食欲不振:肠胃消化吸收能力弱。长期紧张引起精神疲倦。 方法:手心、拇指丘内侧食指下胃脾大肠区。 4、肩酸:过度活动引起的肩部僵硬。——合谷穴 (1)气喘心衰引起肩酸:食指和中指下咳喘点; (2)生殖器官异常引起肩酸:无名指和小指根间心悸点。 5、腹泻:消化不良或食物变质而引起。须加强肠的消化吸收能力。 方法:手背胸腹区、下痢点、食指大肠穴、小脂肾穴、手掌中央略下方健理三针区。 6、失眠:交感神经和副交感神经倒错或神经衰弱。 方法:中指下心包区、手掌区、中指中冲穴。 7、身体倦怠、盗汗:过度疲劳,身心疲倦 方法:手背中渚穴、手心、胃脾大肠区、健理三针区。 8、头痛:中指心穴、手腕大陵穴 (1)全头痛——全头点、大拇指、中指; (2)头顶痛——头顶点(中空痛)、中指、肝经; (3)后脑疼——后头点、小指、膀胱经;

(4)两侧疼——偏头点、左主肝右主肺; (5)酒食前额痛——前头点、食指、胃经。 9、焦虑不安: 方法:中指中冲、小指少冲、手掌区、中指心穴、手腕大陵穴、虎口下虎边穴、手背手腕阳溪穴,虎边穴是治疗羊癫疯的特效穴。 10、低血压: 手腕神门、大陵穴、手背手腕阳池穴、无名小指下中渚穴。 11、发冷: 手背阳池穴(慢慢长时间缓刺激)、无名指关冲、小指命门穴、手心区。 12、青春痘: 手背合谷穴、手腕神门、手背食指根第二二间、拇指丘胃脾大肠区。 13、眼睛疲劳: 手掌心包区、食指商阳穴、小指少泽穴 14、牙痛: 小指肾穴、手背合谷穴、中指无名指下齿痛点、无名指肝穴。 15、落枕: 小指少泽穴、手背中指下“颈咽区”。 16、晕车: 小指侧手腕上神门穴、无名指关冲穴、手掌中央手心。 17、白发: 小指肾穴、小指命门穴、手心、中指中冲穴、无名指关冲穴、手腕中央阳池穴。 18、更年期障碍: 小指肾穴、小指侧面生殖区、手指中央心包区。 19、腹胀: 食指大肠穴、手背食指根处二间穴、胃脾大肠区。 20、荨麻疹: 无名指肝穴、肺穴、小指肾穴、中指心穴、手背手腕阳池穴。 21、痔疮: 手背小指会阴点、手背合谷穴、食指大肠穴。 22、关节酸痛: 五指尖各井穴、手背虎金寸、阳池穴。 23、肩关节炎: 手腕侧太渊穴、手背合谷穴、阳溪穴、手腕神门穴、手背液门穴、手腕大陵穴、中指中冲穴、手背小指末端后溪穴。 24、腰痛: 手背“背腰腿区”两个穴道、食指下侧、无名指下铡(轻柔缓慢)。 坐骨神经痛:手背无名指和小指交叉处坐骨神经点。 25、肥胖: 掌内食指下方“胃脾大肠区”(强刺激)、手背中央“胸腹区”。 26、蓄脓症: 掌内拇指丘“胃脾大肠区”、手背合谷穴、中指中冲穴、手背拇指下手腕间鼻痛点 27、慢性鼻-炎: 手背合谷穴(强刺激)、食指大肠穴。 28、胃痛: 手掌中心下胃肠点、手背拇指根下落零五。 29、胃溃疡:

最新(考研复试)C语言笔记

1:用高级语言编写的程序叫做源程序,然后用编译程序吧源程序翻译成二进制的目标程序,然后将该目标程序与系统函数库以及其他目标程序连接,形成可执行程序。 2:算法五个特点:确定性,有穷性,输入,输出,可行性。3:程序流程图、N-S盒图、伪代码 4:int 无论有符号无符号,都是16位 Short 无论是有符号还是无符号都是16位 Long 无论是有符号还是无符号都是32位 Float 32位 double 64位,long double 128位。 一个整型常量后面加u就是无符号,加l就是长整型 5:\t,\b退格,\r移到本行开头 6:‘0’48,‘A’65,‘a’97,差值32 7:级别char

14:putchar() Getchar() Puts(),gets() Printf(“%md”,d) %d,%c,%f,%ld,%o,%x,%u,%s %d的原意是,按十进制整形数据输出 M表示输出字段的宽度,数字靠右拜访。如果数字太大,就输出数字,不管m. Printf(“%m.ns”,d) 输出占m列,靠右端,只取字符串中的前n个字符,如果n大于m,则不管m Printf(“%-m.ns”,d) 输出占m列,靠左端 Printf(“%m.nf”,d) %f输出实数,包括单精度和双精度,只能输出六位小数, 输出n位小数 Printf(“%m.ne”,d) N指的是输出小数的位数, Scanf输入整形,分割可以用回车或者tab或者空格但是不能用逗号 Scanf(“%3d%3d”,&a,&b)输入123456. 系统自动把123赋值给a,456赋值给b;同理,如果系统输入abc三个字符,但是ch只能容纳一个,就吧a给ch,bc给后面的。

经络穴位触诊法

经络触诊法 一,经络触诊方法: (一)、络诊察法的特点: 1. 经洛诊断,不用器械,根据指腹触摸到的结节或条索(阳性反应物)来判断疾病。 2。经络治疗是以阳性穴位为主要治疗经穴, 3、指腹的感觉察知经络和经穴的异常反应。此法简便易行,准确实用(是针灸临床不可缺少的诊法之一)。 (二)经络诊察要点: 循经触摸,体表见热、肿,弹性强,压痛显著,皮下硬结等,可知为经气实;体表温度低下,无弹性,按之酸麻不痛,陷下等,可知为经气虚。 触摸时,见有硬结、压痛、敏感、快感的反应点,此点即为病穴。压痛强烈,多属实症;压有快感,多属虚症。病穴有助于明确诊断,刺灸病穴常获良效。 触诊的顺序:背俞穴、募穴、部穴、原穴、络穴、特诊点、过敏点和过敏带等。可疑病经要详细触诊。 十二经病的触诊要点: 肺经:肺俞、中府、孔最、膏盲、尺泽。 肺经实热时,胸椎1-3旁开0.5寸处有压痛,滑肉门和大巨亦有压痛。肺经气不畅时,膻中有压痛。肺经虚寒:风门和大杼有酸沉感。咯血或便血:孔最有压痛,或压时有酸沉感。经气虚衰时,膏肓呈高肿或弹性、皮温低下。 大肠经:大肠俞、天抠、温溜、曲池、合谷。 经气实热或排泄障碍时,曲池、肺俞、天枢、骑竹马有压痛。经气郁滞时,大巨有压痛。肠炎时,手三里、上巨虚、天枢压痛明显,皮温高于邻穴。慢性肠炎时,皮温低下,触有快感。 胃经:胃俞、中院、梁丘、足三里、丰隆。 胃经有实热:中院、梁丘有压痛。胃酸过多:巨阙、不容呈压痛。胃经虚寒:按压中脘、足三里有舒服感。胃溃疡:胃俞、与其外侧有过敏点,再按压臀端时,压痛放散至膝以下者。胃痛剧烈:天宗有明显压痛,按之可止痛。脾经:脾俞、章门、地机、大包。 消化不良或运化失常时,脾俞、章门、大包均有压痛。血行失和:脾俞呈现绷紧或压痛。脾热、经气阻滞:地机穴有明显压痛。脾虚作胀:脾俞穴按之酸沉或皮温低下。 心经:心俞、巨阙、阴郄、少海。 心经火旺:心俞内侧有压痛。心脏瓣膜疾患:巨阙发胀,心俞外侧至膏盲处有过敏点。经气虚、功能低下:三阴交、水分、肾俞均有压痛。 小肠经:小肠俞、关元、养老、小海、下巨虚。 小肠经病:关元、养老有反应。被风寒所侵时,天宗、风门、小海均有压痛。小肠经病移于心经时,取关元是有效的。如灸关元治心律不齐。小肠经气受阻的肩肿痛时,下巨虚呈压痛,针之有效。小肠俞部位的腰痛,养老有明显压痛,针之有效。 膀胱经:膀胱俞、中极、金门、委中、昆仑、天拄、八髎。 经气实热:委中穴皮温高,络脉充盈。湿热下注,经气受阻,中极、金门、膀胱俞有压痛。被风寒所侵,天柱、八髎、承山呈压痛。经气虚时,按中极、膀胱俞有快感。 肾经:肾俞、京门、水泉、水分、肓俞。

C语言——指向函数的指针

1函数类型(* 函数指针变量)();//指向函数的入口地址 一个函数是若干语句的集合,经编译后存储在函数代码存储区,并占有一片连续的存储空间,对函数指针只能用函数名赋值而无其他运算 1#include 2 3int max(int x ,int y); 4 5int main() 6{ 7int(* p)() ;//定义p是指向函数的指针变量 8int a , b , c ; 9 10p= max ;//将函数max的入口地址赋给指针变量p 11scanf("%d %d",&a ,&b) ; 12c= (* p)(a , b) ;//用指向函数的指针变量p调用函数 13printf("a = %d , b = %d , max = %d", a , b , c); 14 15return0; 16} 17 18int max(int x ,int y) 19{ 20int k ; 21k= (x> y)? x : y ; 22 23return k ; 24} 函数名作为实际参数: 1 #include 2 3int fun1(int a , int b) 4 { 5return a+b ; 6 } 7 8int fun2(int (*q)() , int x , int y) 9 { 10return (*q)(x , y) ; 11 } 12 13int main() 14 { 15int (*p)() , k ; 16 p = fun1 ;

17 k = fun2( p , 8 , 5 ) ; 18 19printf("k = %d \n" , k); //输出 13 20 21return0 ; 22 } 设置一个函数proc ,每次调用它会实现不同的功能,输入 a , b 两个数,第一次调用proc时,找出两者中最大者,第二次找出最小者,第三次调用求两数之差: 1 #include 2 3int max(int *x , int *y); 4int min(int *x , int *y); 5int a_b(int *x , int *y); 6int proc(int *x , int *y , int(*p)()); 7 8int main() 9 { 10int a , b ; 11 12printf("Enter a and b :"); 13scanf("%d %d" , &a , &b); 14 15printf("a = %d \t b = %d \n" , a , b); 16 17printf("max(%d,%d) = " , a , b); 18 proc(&a , &b , max); 19 20printf("min(%d,%d) = " , a , b); 21 proc(&a , &b , min); 22 23printf("%d - %d = " , a , b); 24 proc(&a , &b , a_b); 25 26return0 ; 27 } 28 29int max(int *x , int *y) 30 { 31int k ; 32 33 k = (*x > *y) ? *x : *y ; 34 35return k ; 36 } 37 38int min(int *x , int *y)

相关文档