对不起,有个地方写错了 ==》
 ——int * const p = a; 
//  *p = 2; /*可以*/
                                                
 //  *(p+1) = 10;/*可以*/ --》这里应该是不可以,改正一下,指针不能移动
                                                
 //  p++;         /*不可以*/

我的原则很简单:不做不喜欢的事!
对不起,有个地方写错了 ==》
 ——int * const p = a; 
//  *p = 2; /*可以*/
                                                
 //  *(p+1) = 10;/*可以*/ --》这里应该是不可以,改正一下,指针不能移动
                                                
 //  p++;         /*不可以*/

 2006-05-22 10:17
	    2006-05-22 10:17
  补充一点:(纯属个人经验)
虽然不能对指向常量的指针直接赋值:但可以通过scanf使其赋值。
例:
 const int b=0;
 int a;
 const int *pt=&a;
 *pt=3; //不可以
 
 scanf ("%d",pt); //可以。 输出*pt==3,a==3。(pt的值为变量a的地址)
 
 pt=&b; //pt可以再次指向一个常量或变量
 pt=3; //不可以
 
 scanf ("%d",pt); //可以。输出*pt==3,b==0。
  
(注意:pt=&b后, pt的值虽为常量b的地址,但输出却是*pt==3,b==0)

 2006-05-22 17:49
	    2006-05-22 17:49
  谢谢12楼的兄弟。但是最后一点错误,就这句:
(注意:pt=&b后, pt的值虽为常量b的地址,但输出却是*pt==3,b==0)
==》当你再输入一个数给pt,b也跟着改变;参考下面代码:
--------------
#include<stdio.h>
int main(void)
{
    const int a = 2;
    const int b=0;
    const int *pt=&a;
    
    printf("%d\n", *pt);     //2
    scanf ("%d",pt);         //  pt = 4;
    
    printf("%d\n", *pt);     // pt = 4;
    
    pt = &b;                 // pt = 0;
    
    scanf("%d", pt);          // pt = 6;
    printf("%d  %d\n", *pt, b);   // pt = 6, b = 6
    
    system("pause");
    return 0;
}

 2006-05-22 18:13
	    2006-05-22 18:13
   2006-05-22 18:23
	    2006-05-22 18:23
   2006-05-22 19:02
	    2006-05-22 19:02
   再写点对于其它的心德吧,等待大作再次出现
再写点对于其它的心德吧,等待大作再次出现										
					
	 2006-05-22 20:12
	    2006-05-22 20:12
   2006-05-24 08:06
	    2006-05-24 08:06
   2006-05-24 08:21
	    2006-05-24 08:21
  补充一点:(纯属个人经验)
虽然不能对指向常量的指针直接赋值:但可以通过scanf使其赋值。
例:
const int b=0;
int a;
const int *pt=&a;
*pt=3; //不可以
scanf ("%d",pt); //可以。 输出*pt==3,a==3。(pt的值为变量a的地址)
pt=&b; //pt可以再次指向一个常量或变量
pt=3; //不可以
scanf ("%d",pt); //可以。输出*pt==3,b==0。
  
(注意:pt=&b后, pt的值虽为常量b的地址,但输出却是*pt==3,b==0)
为什么我通过调试之后*pt==3,而b==3
const没有起到任何作用呢,我用的win-tc

 2006-06-03 12:19
	    2006-06-03 12:19
   2006-06-03 13:46
	    2006-06-03 13:46