请教*P和P[0]的区别? [问题点数:20分,结帖人zhuangmin]

Bbs1
本版专家分:2
结帖率 100%
Bbs1
本版专家分:48
Bbs1
本版专家分:48
Bbs1
本版专家分:48
p()和(*p)()的区别
定义一个函数指针p指向函数f,rnrn 那么p()和(*p)()结果是一样的。rnrn 他们的<em>区别</em>在哪?rnrn 另外函数指针和函数名有什么<em>区别</em>?rnrn 函数指针和其他指针有什么具体<em>区别</em>?rnrn rnrn
请教int *p=0 与 int *p=NULL 的区别
<em>请教</em>int *p=0 与 int *p=NULL 的<em>区别</em>?
p[]与*p的区别
看到一个问题rnchar *strA()rnrn char p[] = "Hello word";rn return p;rnrnrnchar *strA()rnrn char *p = "Hello word";rn return p;rnrnrn这两个说下面的p为全局变量,为什么?
C语言*p、p以及&p的区别
前言: 先要理解地址和数据,你可以想象有很多盒子,每个盒子有对应的号码,那个号码叫做“地址”,而盒子里放的东西叫做“数据”。 上面就段理解了,*p和p的<em>区别</em>就不难解释了。 p是指针变量,用来存放地址,你可以认为是上面所说的盒子的号码,“*”是解引用操作符,你可以把它理解成打开盒子,*p就是打开p号盒子,取出里面的数据。 简单来说,你记住,p存放的是地址,而*p是让程序去那个地址取出数据。总结
while(p)与while(*p)的区别
p=首个数据节点指针 while(p) { //操作 p=p-&amp;gt;next; } while(p) 等价于while(p !=0) 检查的是p值是不是0,或者是不是空指针,如果是,则跳出循环,不再继续循环体 而while(*p) 相当于while( *p != 0) 检查的是p所指向的地址中的数据是否为0,但前提是p不能为NULL...
**p和二维数组p有没有区别?
**p和二维数组p有没有<em>区别</em>?
指针p跟*p的区别
代码如下:rn#include rnvoid invert(char *a,int x,int y)rn char t,*p, *q;rn p=a+x;rn cout<<
div p和div>p的区别
## 代码段落 &amp;lt;style&amp;gt; div span{color:red;} &amp;lt;/style&amp;gt; &amp;lt;div&amp;gt; &amp;lt;p&amp;gt; &amp;lt;span&amp;gt; Hello World! &amp;lt;/span&amp;gt; &amp;lt;/p&amp;gt; &amp;lt;span&amp;gt; Study Css &amp;lt;/span&amp;gt;
free(p)与free(&p)的区别
我看到一段程序里面free(p)与free(&p)两个用法都用了,把我搞晕了rnfree(p)是释放指针本身的空间,还是指针指向的空间?free(&p)呢?rn如果free(p)释放指针指向的空间,那么P指针本身占用的32个BIT的空间释放吗?rn如果free(&p)释放指针本身的32个BIT空间,那么它指向的空间释放吗,会造成内存泄漏吗?rntypedef struct LNodern ElemType data;rn struct LNode *next;rn*Link, *Position;rnrntypedef structrn Link head,tail;rn int len;rnLinkList;rnrn//销毁一个链表LrnStatus DestroyList( LinkList &L)rn if( L.len != 0)//if the link list is not emptyrn Link p = L.head, q = NULL;rn for( ; L.len >=0 && p->next != NULL; --L.len)rn q = p->next;rn L.head = q;rn free( &p);rn p = q; rn rn L.head = L.tail = NULL;rn L.len = 0;rn free( &p);rn free( p);rn free( q);rn free( &L);rn //end of ifrn else//if the link list is empty rn L.head = L.tail = NULL;rn L.len = 0;rn free( &L);rn rn return OK;rn//end of DestroyListrn
函数中的*p、p[]的区别
#include &amp;lt;stdio.h&amp;gt; char *test() { char *p = &quot;hello world&quot;; return p; } int main() { char *p = test(); printf(&quot;%s\n&quot;, p); return 0; } 输出:hello world   #include &amp;lt;stdio.h&amp;gt; char...
char* p 与char p[] 的区别
char* p = "Hello Linux!";rn与rnchar p[] = "Hello Linux!";rn的<em>区别</em>是?rnrn是不是char* p = "Hello Linux!";相当于const char p[] = "Hello Linux!"; ???
(NULL == p)&&(p == NULL)的区别???
(NULL == p)&&(p == NULL)的<em>区别</em>什么??? 只是为了降低首次写错代码的可能性吗???
char p[]与char *p的区别
有人能给我讲讲rnchar p[5] = "abcd";rn与rnchar *p = "abcd"rn的<em>区别</em>么?rnrn为什么char *p = "abcd"是常量字符串?
char *p 与 char p[] 的区别??
[code=C/C++]rn#include rnrn#include rnrnvoid main()rnrn char *p = "abcd"; //??程序在运行到 *(p+1) = 'a'; 时候出现内存读写错误。rn char p[] = "abcd"; //换成这种写法,程序可以正常运行。rnrn printf("*(p+1) = %c\n", *(p+1));rn *(p+1) = 'a';rn printf("*(p+1) = %c\n", *(p+1));rnrn return;rnrn//等待高手解答疑问????谢谢rnrn[/code]
指针p与*p有区别
[code=C/C++] #include rnusing namespace std;rnint main()rnrn int *p=new int;rn *p=3; //我为什么改成p=3 就出错了?rn cout<<
if(null!=p)和if(p!=null)区别??
//声明变量rnParameterInfo prnif(null!=p)rn...rnif(p!=null)rn...rn这两者有什么<em>区别</em>???
delete [] p 与 delete p的区别??
小弟,才疏学浅有下面的问题请大家执教??3x!!rnrnchar * p = new p[bufsize];rnif(p != NULL)rnrndelete[] p ; //如果这句话变为delete p ;会有什么<em>区别</em>???rnp = NULL;rnrnrn
const int *p=0; 和 const int *p; 有区别吗?
Thanks!
请教数据结构p—>top=p
<em>请教</em>一个问题:关于栈p—>top=p中top是什么,p又是什么,怎么能两个指针放一块呢?p—>next=p和p=p—>next怎么区分呢,是一个意思吗?本人菜鸟,刚学数据结构,望高人指点!
指针变量*p和p[0]意义一样吗?
愿闻其详
p=for (p=s;*p!='\0';p++);有这样赋值的吗?
char *s="hello"rnchar *p;rnp=for (p=s;*p!='\0';p++);rn谁见过这样的赋值语句,编译也通不过呀!!
int **p=0; p能访问,*p为什么不能访问?
int **p=0; p能访问,*p为什么不能访问?
请看一段简单程序 关于(if(p)*p=0;)
//<em>请教</em>:rn//其中 if(p)*p=0; 怎么理解? rn//p 可作为逻辑表达式?rnrnint ReadDat(void)rnrn FILE *fp;rn int i=0;rn char *p;rn if((fp=fopen("IN.DAT","r"))==NULL) return 1;rn while(fegts(xx[i],80,fp)!=NULL)rn rn p=strchar(xx[i],'\n');rn if(p)*p=0;rn i++;rn rn maxline=i;rn fclose(fp);rn return 0;rnrnrn
*(++p)++ and *++++p
请问一下rn*++++p可以,而*(++p)++就不可以呢,rn他们的运算过程是怎么个样呢,不都是自右向左吗?rn另外,我在调试*(++p)++ 时,出错信息为:rnerror C2105: '++' needs l-valuern请问中的C2105代表了什么呢?
请问下free(p),p=NULL,*p=NULL的区别~~
RTrn希望高手指导rn谢谢
【c语言】*p++、*++p、(*p)++、++*p 的区别学习
为了清晰明了,我们每次都使p指向数组的首地址。 (1)*p++ int b = *p++;//等价于a = *(p++); 即a = *p; p = p + 1; 执行上面语句,输出b=10 执行语句*p++;后,*p=20; (2)*++p int d = *++p;//等价于 p =p+1; d=*p; *和++的优先级相同,但根据它们的右结合性可知,先p=p+1;后d...
论++*p,*p++,*++p之间的区别
1.C语言中前置++i和后置i++的<em>区别</em> 在for循环语句中前置++是用i加后的值与条件比较,这个过程中 不需要开辟临时空间;而后置++则是先将i取出来放在一个临时开辟的空间里 ,用这个临时量与条件做比较,然后i自增;前置++比后置++效率高,因为不必开辟临时空间。  2.++*p,*p++,*++p的<em>区别</em> 清楚了前置++和后置++的<em>区别</em>无疑对我们要解决的这个
c++中*p=a和p=&a的区别
运行环境:VS2013,语言:C++。 #include &lt;iostream&gt; using namespace std; int main() { int a = 10; int *PA = new int; *PA = a; cout &lt;&lt; "*PA is:" &lt;&lt; *PA &lt;&lt; endl; /...
P(AB)与P(A|B)的区别
P(AB)=P(B)P(A|B) 无论AB是否独立,都成立 假定A,B独立: 则P(AB)=P(A)P(B) P(A|B)=P(B|A)P(A)/P(B) = P(A) P(AB)是AB同时发生的概率,是以全体事件为100%来计算其中AB同时发生的概率。 P(B|A)是在已经发生了A事件的前提下,再发生B事件的概率。是以所有发生A事件为100%来计算 ...
区别">char *p="abcd"和char p[]="abcd"的区别
程序一:rnchar *p="abcd";rnsizeof(p)/sizeof(char); //为4rn*(p+4)=='\0'; //true!rnstrupr(p); //这行编译通过但是运行会出错rnrn程序二:rnchar p[]="abcd";rnsizeof(p)/sizeof(char); //为5rn*(p+4)=='\0'; //truernstrupr(p); //all rightrnrn我认为问题主要是在申请的空间上rn为什么一个空间4,另个为5,请大家多多指点
char p[]与char *p的区别。。。求解。。。
[code=C/C++]rn#include rn#include rnusing namespace std;rnvoid RightMove(char *p,int steps)rn int n = strlen(p)-steps;rn char *tmp = new char;rn strcpy(tmp,p+n);rn strcpy(tmp+steps,p);rn *(tmp+strlen(p)) = '\0';rn strcpy(p,tmp);rnrnint main()rn char p[]="abcdefghi";//[color=#FF0000]换成char *p="abcdefghi"就出错。。为什么???[/color]rn int steps = 2;rn RightMove(p,steps);rn cout<
区别???">char *p="123"与char p[]="123"的区别???
下面是我写的一个简单的测试程序:rnrn#includern#includernrnvoid main(void)rnrn char *p;rn char * aa(void);rn p=aa();rn char *p1=(char *) new char[100];//以下两行原本想覆盖掉p,呵呵,但没成功rn memset(p1,'*',100*sizeof(char));rn delete[] p1;rn cout<
区别??">UNIX中*p和printf("%c", *p)的区别??
C专家编程,看到了如下一段话rn“在UNIX中,当进程需要更多空间时,堆栈会自动生长。程序员可以想像堆栈是无限大的--这是UNIX胜过其他操作系统如MS-DOS的许多优势之一”rn于是就自做主张,写了如下两个程序,来测试UNIX这种NB的堆栈:rnrn系统: Mac OS Xrngcc版本: 4.2.1rnrn/*rn** A程序rn*/rn#includernrnintrnmain( void )rnrn char i = 'A';rn char *p = NULL;rn int time = 1;rnrn p = &i;rn while ( 1 ) rn p++;rn ++time;rn if ( (time % 100) == 0 ) rn *p;rn printf( "now the pointer is on %p\n", p );rn rn rnrn return 0;rnrnrnrn这个程序跑了10分钟没问题rnrnrn/*rn** B程序rn*/rn#includernrnintrnmain( void )rnrn char i = 'A';rn char *p = NULL;rn int time = 1;rnrn p = &i;rn while ( 1 ) rn ++p;rn time++;rn if ( (time % 100) == 0 ) rn printf( "now the pointer is on %p\n", p++ );rn printf( "*p = %c\n", *p );rn rn rnrn return 0;rnrnrn但是这个程序跑了大概10秒就出现了“Segmentation fault”的字样。查了下Segmentation fault的几个主要原因:rn1、解除引用一个包含非法值的指针rn2、解除引用一个空指针rn3、未得到正确的权限时进行访问rn4、用完了堆栈或堆空间rnrn先排除3。rn至于1、2、4,想象不出在A不出错的情况下能符合哪点。。那么,B的Segmentation原因到底为何?为什么*p可以,printf()出来就不行?
int *p()和int (*p)()有啥区别
请问int *p()和int (*p)()有啥<em>区别</em>?
区别在那?">char *p="" char p[]=""区别在那?
char *p="" char p[]=""<em>区别</em>在那?
free(p);和_free_dbg(p, _CLIENT_BLOCK);区别
void PASCAL CObject::operator delete(void* p)rnrn#ifdef _AFX_NO_DEBUG_CRTrn free(p);rn#elsern _free_dbg(p, _CLIENT_BLOCK);rn#endifrnrnrn_AFX_NO_DEBUG_CRT是什么宏命令? rn
char *p 和 (char*) p有区别
RTrn一个排序函数中见到的
char* p 和 char p[]区别及应用
char p char p 实例char* pp的含义是指向常量字符的指针 char* p="hello";等价于const char* p="hello" 常量字符:说明hello这个字符串是无法改变的,则不能更改指针指向的内容,来改变字符串hello。 *(p+2)='w';错误 指向的指针:是可以改变自身的值,输出p的时候就不是hello了而是别的字符串 p="newstring";
*p = NULL 与p = NULL的区别是什么
下面是测试两者的程序:rnrn[code=c]#include "stdafx.h"rn#include "stdio.h"rn#include "stdlib.h"rnint main(void)rnrn int *p;rn p = (int *)malloc(sizeof(int));rn *p = NULL;rn *p = 5; rn printf("%d\n", *p);rnrn return 0;rnrnrn[/code]rn得到的结果是rn5rnPress any key to continuernrn[code=c]#include "stdafx.h"rn#include "stdio.h"rn#include "stdlib.h"rnint main(void)rnrn int *p;rn p = (int *)malloc(sizeof(int));rn p = NULL;//此处与第一个程序不同,把*p改成prn *p = 5; rn printf("%d\n", *p);rnrn rn return 0;rnrn[/code]rnrn得到的结果是rnPress any key to continuern没有任何输出。rnrn请问第二个程序能否说是建立了一个空栈?rnrn第三个程序rnrn[code=c]#include "stdafx.h"rn#include "stdio.h"rn#include "stdlib.h"rnint main(void)rnrn int *p; rn p = NULL;//这一处算是分配空间吗?rn *P = 5;rn printf("%d\n", *p);rn rn return 0;rn[/code]rnrn运行时有错误:rn'P' : undeclared identifierrnrn请帮我释疑。rnrnrnrn
char const *p和char * const p区别?
char const *p和char * const p<em>区别</em>?
p与*p
#include&amp;lt;stdio.h&amp;gt; #include&amp;lt;stdlib.h&amp;gt; #include&amp;lt;string.h&amp;gt; int main(void){     char *p = NULL;     char buf[] = &quot;abc&quot;; //buf指向常量区“abc”,拷贝到栈区buf,编译器检测到是数组,地址0x11,//注意这里没有指向关系     print...
C语言中*p++ ,(*p)++ ,*++p ,++*p的区别
1、*p++ 先取指针p指向的值(数组第一个元素1),再将指针p自增1; (* 和++ (单目运算)两个处于同一优先级,结合方向是自右向左 但是前提是当++在变量前面的时候才处理同一优先级,当++在变量之后时,你可以将++的优先级看成最低级的,比逗号运算符的优先级还低**) 2、(*p)++ 先去指针p指向的值(数组第一个元素1),再将该值自增1(数组第一个元素变为2 3、++p 先将...
(笔记)char * p与 char p[ ] 的区别
char * p与 char p[ ]<em>区别</em>。 char str1[] = "abc"; char str2[] = "abc"; const char str3[] = "abc"; const char str4[] = "abc"; const char *str5 = "abc"; const char *str6 = "abc"; char *str7 = "abc"; char *str8
区别??">char *p="123" 和 char p[]="123" 的区别??
各位赐教,谢谢了
char **p和char *p[]的区别,求解答
char **p和char *p[]的<em>区别</em>,求解答
*p[10]和(*P)[10]有区别吗?
*p[10]和(*P)[10]有<em>区别</em>吗?
关于delete p和delete []p的区别所在
(问题参见:http://community.csdn.net/Expert/topic/4402/4402653.xml)rnrn在VC下,对于char int之类的内建数据类型,在debug下效果的确相同,也就是rnchar *p=new char[10];rndelete p;跟delete []p;效果相同。(可能因为#define new DEBUG_NEW这句话)rn但在Release下,rn前者存在一定问题,内存貌似并没有被回收。(这个问题还需要进一步测试验证。)rnrn对于非内建类型,正如Mackz指出:rn“delete只会调用一次析构函数,而delete[]会调用每一个成员的析构函数。”rn在MoreEffectiveC++中有更为详细的解释:rn“当delete操作符用于数组时,它为每个数组元素调用析构函数,然后调用operator delete来释放内存。”rnrn在其他编译器上没有测试。rn因此,出于谨慎考虑,还是用delete[]来释放比较好。rn至少看上去可读性更好一点。rnrn望一起讨论的几位哥们进来领分。rn
char *p[2]和char (*p)[2]的区别
现在,我不知道char *p[2]和char (*p)[2]的<em>区别</em>,请帮忙解释下!
C 指针 *p &p p
int *p=new int(10);rncout<<
新手请教一个简单的问题!!!!!!!!! Node* p和Node *p的区别
<em>请教</em>一个简单的问题rnprivate:rn int iVal;rn string sVal;rn Node* pPrev;rn Node* pNext;rn和rnrn~LinkTable()rn rn Node* ptemp1 = head;rn Node* ptemp2 = NULL; rn while(ptemp1!=NULL)rn rn ptemp2 = ptemp1->getNext();rn delete ptemp1;rn ptemp1 = ptemp2;rn rn rnrn里面的*号到底是紧跟Node还是紧跟后面的变量,这样的具体意思有什么<em>区别</em>?rn
指针变量区分*p 、p、&p
#include&amp;lt;stdio.h&amp;gt; #include&amp;lt;malloc.h&amp;gt; typedef struct LNode { int data; struct LNode *next; }LNode,*List; int main() { LNode a; a.data=3; List r; LNode *p; p=&amp;amp;a; r=&amp;amp;...
auto_ptr(T *p=0) *p=0什么意思啊?
*p=0什么意思,初始化p为NULL?rn我在网上没查到,求指教。
(1)*p!="\0"与(2)**p!='\0'这种现象如何理解?
我在visual c++6.0下运行这两个程序rn结果一样,不知如何解释?rn(1)rn#include rnint main() rn rn int i;rn char a[][20]="good","bat","";rn char (*p)[20];rnfor (p=a,i=0;*p!="\0",i这种现象如何理解?rnrn
++p和p++的区别??
在for循环语句中,如果递增量是一个对象的指针,那么把递增符号++写在对象指针之前和之后有什么<em>区别</em>?rnfor(p; p!=NULL; ++p)//好多地方用这种形式!!rnfor(p; p!=NULL; p++)//rnrn<em>区别</em>好像很大,就是不知道为什么?rn
%p与%X的区别
%p和%X是不是没有什么<em>区别</em>呀?rnrnint a[]=1,2,3,4,*p=a;rnprintf("%p\n",p);rnprintf("%X\n",p);rnrn结果都是 FFCErn应该都是把p的内容作为16进制输出吧?rn
与 的区别
span标签是在行内定义一个区域,也就是一行内可以被&amp;lt;span&amp;gt;划分成好几个区域,从而实现某种特定效果。&amp;lt;span&amp;gt;本身没有任何属性。 P标签就是分段&quot;逻辑含义相同的放在一起&quot;用一句话来说&quot;把意思相同的话捆绑在一起&quot;。   eg: &amp;lt;P&amp;gt;华仔,我爱你&amp;lt;/p&amp;gt; &amp;lt;P&amp;gt;华仔,我爱死你&amp;lt;/p&am
char[] 与 char *p 区别
#include rnrnusing namespace std;rnrntemplate rninline void Swap(T &a, T &b)rnrn T temp = a;rn a = b;rn b = temp;rnrnrntemplate rnvoid perm(T *list , int k , int m)rnrn int i;rn if(k==m)rn rn for(int i=0;i<
和 标签的区别
和 标签的<em>区别</em> , 快速了解 标签 和 标签...
指针 *p++与(*p)++的区别
1.根据运算优先级,*与++时同一优先级,因此无法直接判定结合性,又由于一元运算符具有由右向左结合,因此*p++ 等价于*(p++),即先将指针后移,然后取值 2.(*p)++ 为先取当前p所指的值,然后所取值加1 例: int main(int argc, char** argv) {     int a[5]={0,1,2,3,4};     int *p = a;     cout
*p++和(*P)++的区别
*p++:是先取出*p的值,再使p加1//p是个指针,给p加1,相当于让p指向了原本所指地址的下一个位置,而对于原本所指向的数据,是没有任何影响的(*p)++:是使*p的值加1.//*p则是p指向的位置所对应的值,这个所指向的值要+1....
(*p)++和*(p++)和*p++的区别
测试的代码如下: #include "stdafx.h" #include "stdio.h" #include int _tmain(int argc, _TCHAR* argv[]) { int a[50]={0,0,0,0}; int *p; p=a; int k1,k2,k3; //测试第一部分 printf("%d\n",p); *p++=10; printf("%d
求解*(p++)与*(++p)的区别
问题:int *p,a[10];p=a; *(p++)与*(++p)作用不同。若p的初值为a,则*(p++)等价a[0],*(++p)等价a[1]。这句话怎么理解?我的想法是:p既然是p++=p=(p+1)所以是a[1],才对,我想了很久,都想不同。<em>请教</em>一下。谢谢帮助!rn
p++和++p的又一个的区别
关于这两个定义上的<em>区别</em>大家都知道rn我刚又发现一个很重要的<em>区别</em>rn假如p的类型是Trnp++的返回值类型是T&rn而++p通常情况下没有返回值
**p与 *&p的区别, 即指向指针的指针和引用指针变量的区别
一份总结“指向指针的指针和引用指针变量<em>区别</em>”的精华笔记,很多人对于**p与 *&p的差别不是很清楚,相信这个笔记可以解决你的疑惑。
div p、div>p、div+p、div~p、div.a 、p,span的用法和区别
div p、div&amp;gt;p、div+p、div~p、div.a 的用法和<em>区别</em> div p :将所有&amp;lt;div&amp;gt;标签里面的&amp;lt;p&amp;gt;标签选中(子标签和孙子辈标签) &amp;lt;style&amp;gt;    div span{color:red;} &amp;lt;/style&amp;gt; &amp;lt;div&amp;gt;   &amp;lt;p&amp;gt;       &amp;lt;span&amp;gt; Hello
关于 (*p)[] 和 *p[] 的问题?
(*p)[] 和 *p[]它们是一样的吗?如果不一样,那么它们的<em>区别</em>在哪里呢?
free (p); p = NULL;
char *p = "Hello";rn free (p);rn p = NULL; rn printf("%s\n", (p) ? p : "NULL");rnrn为什么出现rnSegmentation fault (core dumped)rnrn将free(p)注释掉是正确的
%#p
[code=C/C++]rn#includernint main()rnrn int a[5][5];rn int (*p)[4];rn p = a;rn printf("a_ptr=%#p,p_ptr=%#p\n",&a[4][2],&p[4][2]);rn printf("%p,%d\n",&p[4][2] - &a[4][2],&p[4][2] - &a[4][2]);rn return 0;rnrn[/code]rn%p是指针输出格式rn但是%#p的输出格式什么意思?
p
教你玩转HTML(html5)h5网页设计,网站开
指针函数*p()和(*p)()的理解......
我初学,对这个很迷茫
*p = 5; cout<<
#include "Stdio.h"rn#include rnint main(void)rnrn int *p=0;rn *p = 5;rn cout<<>a; rn return 0;rnrn在VC++ 6.0 中出现内存错误,这是为什么?
char *p和char p[]
请指教下我rn我的理解是这样的:char *p=“abc”意思是使P指向常量abc,于是如果我们用*p="def"则会报错,因为常量不能修改rn如果是char p[]="abc"到话是把常量“abc”常量复制到数组p,这个时候p指向的是变量的空间,于是*p='d',*(p+1)='e',*(p+2)='f'rn请问大家,我这样理解正确吗?谢谢大家!
&*p
char str[6] = "hello";rn char *cp=str;rnrn cout<<
辨析*P++,*(p++),*(++p),++(*p),*(P--),*(--P)
1,*p++由于++和*同等优先级,结合方向为自右向左,因此它等价与*(p++)。先引用p的值,实现*p的运算,然后再使p自增1。2,*(p++)与*(++P)前者是先取*p的值,然后使p加1。后者是先使p加1,再取*p 。若p的初值为&amp;amp;a[0],输出*(P++),得到a[0]的值。输出*(++p),得到a[1]的值3,++(*P)表示p所指的元素加1,如果p = a , 则++(*p)相...
P + 1 == *(P + 1) ?
一点小问题,大家看看:rnvoid call_array_pointer() rn int (*p)[10]; //one pointer which pointers to an arrayrn int b[][10] = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13; rn p = b;rn printf("%d, %d\n", p, b);rn printf("%d, %d\n", p + 1, b + 1);rn printf("%d, %d\n", *(p + 1), *(b + 1));rnrnrnint main() rn call_array_pointer();rn system("pause");rn return 0;rnrn有点不解的是:p + 1的值等于*(p + 1), b + 1 的值也等于*(b + 1), 有点糊涂了
详解:C语言中的指针和p, p+1, *(p+1), *P+1, p[0], &p[0] 的含义
解析:C语言中的指针和p, p+1, *(p+1), *P+1, p[0], &p[0] 每一种表达式的含义  一、先解决一个问题:什么是指针 指针就是存放地址的变量。很好,百度上就是这个答案(哈哈,感觉这句话很废话)。 指针是一个大小固定为4个byte的变量,不管是什么类型的指针大小都是固定的,因为存放是一个地址信息。 void main() { int a = 1; cha
*p 与p[] 指向的内存
本人初学c语言发现这样一个问题:rn char *getMemory1()rn char *p="abc";rn return p;rnrnchar *getMemory2()rn char p[]="abc";rn return p;rnrnvoid main()rn char *p1=NULL;rn p1=getMemory1();rn printf(p1);rn rn char *p2=NULL;rn p2=getMemory2();rn printf(p2);rnrn能够打印出p1 ,但是打印不出p2,这是怎么回事?求指导
if(p)还是if(p != NULL)
我在VS2008用if(p)出错,用if(p != NULL)正确。rnOH My God,坑爹的编译器。
* p
《C语言程序设计 现代方法》n第12章 指针和数组nn12.2 指针用于数组处理n*++p或*(++p)nn先自增p,自增后表达式的值是*pn—————————n书上这句话是什么意思?n实例:nint j=1,*p
*p++,(*p)++,*++p,++*p有什么不同??
*p++#include #include #includevoid main() { int str[]={1,2,3,4,5}; int *p=str; //*p++; printf("%x\n",p); printf("%d\n",*p++); printf("%x\n",p); pr
思​科​ ​P​P​P​ ​配​置
1.掌握PPP 的基本配置步骤和方法。 2.掌握PAP、CHAP 的基本配置步骤和方法。 3.掌握对PAP、CHAP进行诊断的基本方法 1.配置路由器之间的PPP 连接。 2.配置、验证PAP过程。 3.配置、验证CHAP过程。
请教%p的用法
有谁来解释一下%p的用法,看C标准99的解释不太清楚。谢谢。
*p=0是什么意思呀?
我刚学C++,p是一指向string类型的指针,我理解是将“0”赋给字符串,可书上说是用NULL做为串结束符,不明白了。
请教一下(Person p)
class programrn rn public static void Main()rn rn int i = 10;rn int j = i;rn i++;rn Console.WriteLine(j); //输出10rn Person p1 = new Person(10);rn Person p2 = p1;rn p1.num++; rn Console.WriteLine(p2.num); //输出11rn Incnum(p2) ;rn Console.WriteLine(p2.num); //输出12rn Console.ReadKey();rn rn static void Incnum(Person p)rn rn p.num++;rn rn rnclass Personrn rn public int num get;set ;rn public Person(int num)rn rn this.num = num;rn rn rnrn<em>请教</em>一下,上面的代码中,static void Incnum(Person p)是啥写法哦,!没看到过呢,只看到过括号内写int、string,rn1:person是一个数据类型?不是吧?rn2:p应该是一个变量吧,那p.num++;呢,变量后面用点运算?不会吧?rn3:p是person的对象,那new呢,咋不写person p = new person;呢,rn4:请问,这个知识是那个章节的内容,怎么理解,谢谢
为什么p[0]指向“j"
char *str[] = "welcome", "to", "Fortemdia", "Nanjing";rnchar **p = str + 1;rnstr[0] = (*p++)+2;rnstr[1] = *(p+1);rnstr[2] = p[1]+3;rnstr[3] = p[0];rnrn请大家帮我看看,谢谢!
char *p="world"; p[0]='X';为何会出错?
点调试的结果:rnrn出错地方:mov byte ptr [eax],58h rnrn;58h就是X的ascii
请教P/NP问题
那位大虾,能给描述一下吗?rn3x
delete [] p问题请教
内存越界(写)操作后,内存释放时出现异常,就是堆被破坏了。rn具个简单的例子,便于理解。rn[code=C/C++]rn#include rnint main()rnrn char* pDest = new char[3]();//分配空间 3个字节大小rn strcpy(pDest, "123");//将4个字节大小的内存拷贝到3个字节大小空间中,内存越界写rn delete [] pDest;// 原分配的3字节大小空间释放 [color=#FF0000]异常出现[/color]rn pDest = NULL;rn return 0;rn[/code]rnrn出现异常并不是坏事,可以说能帮助程序员及时发现问题。rn可是,数组指针释放的时候,它是怎么知道被分配的堆被破坏了呢?rn简单的跟踪了一下,free的时候retval = HeapFree(_crtheap, 0, pBlock);的返回结果为4,产生了堆被破坏的信息提示。rn如果谁知道原理的,给简单说明一下,看看系统是如何做到了。谢谢
pre=((*buff-1)=='0')?Ht[p].lchild:Ht[p].rchinld
高程 C语言 最后1个空正确答案是 rnrnpre=((*buff-1)=='0')?Ht[p].lchild:Ht[p].rchinld
p:=pos('sdsdfsdf:sdfsdf',':')为何p值为0?
-
求原因:关于 p=(++p>0)?(p++):(p++);
int p=0;rnp=(++p>0)?(p++):(p++);rnrn为何执行完后p为1?与堆栈相关否?
函数指针的一个例子以及*p和p[0]的关系
先说几个概念: p[0]就是*p 就是p所指向的内存中的值&p是p这个指针本身的地址,&p的类型是int**&p[0]就是p[0]的地址,也就是p(&p)[0],就是*(&p),也是p*p,就是前面说的p[0]p是一个指针变量的名字,表示此指针变量指向的内存地址,如果使用%p来输出的话,它将是一个16进制数。*p表示此指针指向的内存地址中存放的内容,一般是一个和指针类型一致的变量或者常量。&是取地
int *p = new int[5]然后p[0]表示什么?
[code=c]#include rnusing namespace std;rnrnint main()rnrn int *p = new int[5];rn p[0] = 12;rn cout << p[0] << endl;rn delete[] p;rn return 0;rn [/code]rnrn初学c++指针这块觉得很难理解,平时的int* p;p对应的值应该是地址,然后*p对应的值是p里面地址所对应的值。rn但是这个p[0]为什么对应的不是地址[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/17.gif][/img]
int *p;p=0;是什么意思,该怎么理解
如题,有如下语句,rnint *p;rnp=0;rn该怎么理解,VS2013并不报错
传p还是传*p
刚学指针那会儿, 没太搞明白p和*p的<em>区别</em>, 后来搞清楚后, 发现这个东西确实是太简单了。       在实际生活中, 有很多类似的例子:       某某某是收藏某片的高手, 收藏了很多很多, 大家都找他要资源, 他怎么提供资源呢? 有两种思路:       1. 分别把资源传给每个人, 也就是提供*p       2. 建立一个资源共享区, 提供p, 大家根据这个p(在本例中指url)
清除电脑系统垃圾程序下载
清除电脑系统中无用的垃圾的程序,让电脑运行速度加快 相关下载链接:[url=//download.csdn.net/download/eunbae1007/2587368?utm_source=bbsseo]//download.csdn.net/download/eunbae1007/2587368?utm_source=bbsseo[/url]
Best cleaner下载
上级保密检查时使用,所有痕迹一扫而空!专业级清理工具! 相关下载链接:[url=//download.csdn.net/download/capfsxl/4767756?utm_source=bbsseo]//download.csdn.net/download/capfsxl/4767756?utm_source=bbsseo[/url]
企业门户网站_ok.zip下载
完整的企业门户网站,前后台源代码及文档,可运行。 相关下载链接:[url=//download.csdn.net/download/luochao2508/4994218?utm_source=bbsseo]//download.csdn.net/download/luochao2508/4994218?utm_source=bbsseo[/url]
我们是很有底线的