我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:2019跑狗图高清彩图 > 指针 >

C语言中指针p=q与p=q有什么区别

归档日期:07-08       文本归类:指针      文章编辑:爱尚语录

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  若p和q是申明为类型兼容的指针变量,且都正确赋有合法值且不为NULL,那么,*p=*q是把指针q指向的目标值赋给指针p指向的目标;p=q则是使指针p指向指针q指向的目标(最终是p和q指向了同一目标,这个目标就是q指向的目标)。在q==NULL时,*p=*q非法操作,p=q是合法操作(使p和q同为NULL)。综上,除q为无效(NULL)时不能取值操作外,正常情况下*p=*q操作的是指针指向的目标,p=q操作的是指针本身——这是二者的本质区别。以下代码可以验证:

  2013-07-15展开全部指针指向的是一个地址,但这个地址里面可能是一个变量,也可以是个常量,或者是其它类型...

  2013-07-15展开全部1)*q是指针所指向的一个字符,所以把一个字符串赋值给一个字符,显然是错误的.

  2)C语言不进行强制的类型识别,所以一个字符可以以数值形式赋值,实际你赋值的内容是它的ASCII码,也就是d

  3)C语言中字符串不能直接给指针赋值,而应该使用函数:strcpy,strncpy.函数原型为:

  5)从这句:*p=来看,p是指针的指针,所以*p是指针,所以用法是正确的.

  1)C语言对数据类型不会进行强制识别,字符型数据可以赋值为数字,字符指针可以指向数字,指针本身也会有指针.

  2)指针只是指的一个地址,这个地址本身也是数据.如果把这个地址当作字符串使用的话,一定要直接使用指针,如果使用形如*p这样的用法的话,只是指的p指向的首地址的字符.

本文链接:http://masterblue.net/zhizhen/318.html