当前位置: 代码迷 >> C语言 >> [求助]小问题,求解答
  详细解决方案

[求助]小问题,求解答

热度:462   发布时间:2007-03-16 21:16:07.0
[求助]小问题,求解答
1)#define pStr char *;
pStr s1, s2;
s1都被定义为char *,而s2则定义成了char


2)const char *p1 = string;
const pStr p2 = string;
这两个有什么区别吗?
const是什么意思?

谁能帮忙解释下
搜索更多相关的解决方案: 解答  解答  

----------------解决方案--------------------------------------------------------

1) #define pStr char *;
pStr s1, s2;
这个和下面的一样(将pStr用char *来代替)
char *s1,s2;

要想两个都定义成char *型用typedef

2)两个没区别,const是定义常量


----------------解决方案--------------------------------------------------------

第一个:
1)#define pStr char *;
pStr s1, s2;

pStr s1, s2; 展开是: char * s1,s2;

第二个:
const char *p1 = string;
const pStr p2 = string; 展开const char * p2 = string;


----------------解决方案--------------------------------------------------------
也想知道const是什么意思啊
为什么定义指针的时候要用到const啊???
----------------解决方案--------------------------------------------------------
二楼不是有吗
----------------解决方案--------------------------------------------------------
const 是常变量的定义.
也就是说在定义常变量时要进行初化,
而在后面的程序中不能对常变量的值的修改.
const int i=3;
i=4; /*这是不允许的.*/

const char * pt=string;
使pt 指向不变,在程序中不能让它指向其它变量.
----------------解决方案--------------------------------------------------------

刚刚没注意,现在明白,3Q


----------------解决方案--------------------------------------------------------

我想修改一下我的贴子:
const int * pointer;
pointer 是指向常整型的指针变量,
也就是说它只能指向常整型的变量.
const int i=0;
int j=0;
pointer=&i;
而不能是
pointer=&j; 这是错误的.


int i=0;
int j=0;
const int k=0;
int * const pointer=&i;
pointer 是指向整型的常指针,
也就是说它始终指向一个整型变量,
pointer=&j; /*这是不允许的*/
int * const pointer1=&k;
这也是不允许的,pointer1是指向整型变量,
而k是常变量.


----------------解决方案--------------------------------------------------------
int * const pointer1=&k;

是pointer1还是pointer???
----------------解决方案--------------------------------------------------------

不是,是另外一个例子.


----------------解决方案--------------------------------------------------------
  相关解决方案