您的位置:

c语言指针px,c语言指针判断回文字符串

本文目录一览:

c语言关于指针问题 int x=2,y=5,*px=&x,*py=&y;这个语句*px=&x正确么,如果正确的话在vc++6.0中是如何运

int x=2,y=5,*px=x,*py=y; 这叫声明,不叫语句。

声明中 int *px=x; 正确。它声明 px 是指针,并 初始化为 x 的地址。

如果不是声明,而是语句:

int x=2, *px; // 声明 变量 x, 初始化 x=2, 声明 px 是 指针 变量

*px=x; // 这里 是语句,这个语句 不正确。

语句里要写:

px = x; // 把 x 的地址 赋给 px, 也就是 让 px 指向 x.

接下来要是有语句:

*px = 5; // 这个语句正确, 语句里 *px 是 值

y = *px; // 这个语句正确, 语句里 *px 是 值

--------------

C/C++ 奇葩之一,外貌相同的东西,在声明里 和 在 语句里 却可能 不是一回事。

在C语言中,&*px的含义

px是指针,*px是取px指向的元素的值,*px是取指向元素的地址

c语言 *++px(px指针),是什么意思呢

*px++等价于*(px++),跟(*Px)++ 完全是两种运算。很令人遗憾的是*(px++)不等同于px++;

*p;,因为后置++操作的效果是在当前子表达式结束(更准确的术语是“顺序点“sequence point)时生效,*(px++)实际上同义于*px;px=px+1

这个名词翻译成“结合性”的比较多吧。结合性影响的仅限于隐式加括号的位置,例如“前置++,--,!等运算符的的结合性是从右到左”就表示++++a隐式加上括号后等同于++(++a),即括号总是加在靠右的位置;*,/,%,+,-之类的运算符的的结合性是从左到右,就表示 a*b*a隐式加上括号后等同于(a*b)*c。结合性跟运算顺序是毫无关系的,这是极容易造成误解的地方

就是正号,例如表达式“+9”中的+就是一元的