
正文
c语言p和(p),c语言*p=a和p=a
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
C语言p和&p的区别
1、p是指向数组p[5]首地址的指针,它是一个指向int型变量的指针。a[5]可以理解为:*(a[5]),即这个数组是由5个指向int型变量的指针组成的。例如:a[0],a[1]...这几个都是指针。
2、表示的东西不同 p表示p代表相应数据类型在存储单元中存储的首地址,而这个存储单元存储的是相应类型数据的数值。
3、题中p一开始指向字符首地址,经过while后指向字符串末尾,相减就是字符串的长度。字符串是存在连续的内存空间,所以可以这么算长度。
4、&p是一个地址,顺着这个地址能找到一个值,这个值是p,然后p也是一个地址,顺着这个地址能找到另外一个值 p 而 p不再是一个地址,是一个变量就跟 int a=1,b=2; 里一样。
5、C语言中,*p 和p都常用在指针当中表示一个指针变量,*p 和p的区别:表示的含义不同 p表示此指针指向的内存地址中存放的内容。p表示一个指针变量的名字,指此指针变量所指向的内存地址。
相关问答
Q1: C语言中while(p)和while(*p)有何区别?
p是定义了一个指向字符类型的指针。p将存放一个地址。while(p)的意思是:当p不为0时执行,在c中NULL被系统保留,宏定义为0,也就是define NULL 0;这个宏定义是已经定义好的。
没什么区别啊,都是先判断括号中的值,是0就不执行,非0就执行 就比如if(p)、while(p)是p为真执行,即p非0执行。if(!p)、while(!p)是!p,!p为真时执行,即p为假是执行。
p是对指针指向的地址取值。比如我们定义int a=0;int *p=那么p依然是一个int型变量,其值为变量a的地址。那么当我们写while(*p);printf。。;时,这里的*p就是a的值。
while( *p ) 就是判断 (*p) 的值只要不为0就会一直循环。
p=a说明,p指向的是数组a的首地址。就是指a[0]的地址。你看到while后面有个p++,就是指将p往后移动一个,就是指的a[1],同理这个while循环可以遍历数组a的所有元素,当a完了 就退出while循环了。
Q2: C语言中*p+3和*(p+3)有什么区别
1、区别一是:一个是3个元素的数组,相当于定义了三个变量;一个是单个变量。区别二 是:前者变量类型是int*,后者变量类型是int (*)[3],int*指针的步长是一个int,而int (*)[3]指针步长是3个int。
2、(1)int*p[3];//定义了一个三维数组,其中的每个元素p[0]、p[1]、p[2]都是指向int变量的指针。(2)int(*p)[3];//定义了一个指针,这个指针是指向一个三维数组的。
3、int *p[3]是定义了一个名为p的数组,里面有三个类型为int*的元素。
4、您好,我来回答你的问题,int *p[3]是指针数组,这个数组有3个元素,每个元素都是指针。int (*p)[3]是指向一维数组的指针变量,就是这个指针指向了一个一维的数组。
5、c语言的指针部分 *p与p区别如下:作用不同 p表示此指针指向的内存地址中存放的内容。p是一个指针变量的名字,表示此指针变量指向的内存地址。输出内容的格式不同 p常用在一个和指针类型一致的变量或者常量。
6、内容不同 星号是用来指定变量p是指针,p是一个变量,其值为另一个变量的地址,它表示了在内存中的一个地址,即,内存位置的直接地址。而*p是所指向地址的值。
Q3: C语言中*p,p,&p的区别
1、p是指针变量,其值是一个变量的地址。p收到了哪个变量的地址,就指向哪个变量。该变量成为p的对象。p是p所指向的对象的值。例如:inti=3,*p;p=注意:p收到i的地址,故p指向i,i是p的对象。
2、p是一个变量,是一个变量。 p是一个地址一个内存地址,不是一个变量。
3、p[]=*p([]),首先,它是一个数组,数组里面保存的是指针 (*p)[]则不同,首先它是一个指针,然后,它指向一个数组,但通常,再定义的时候需要指定所指向数组的大小。
4、c语言*p和p的区别是:指针符不同:用法不同、运算符不同、变量不同、类型不同。指针符不同:通常用于解引用指针,即获取指针所指向的存储单元的值,而p只是一个指针变量的名称,用于存储指针的地址。
Q4: C语言中(*(p+1))[1]与*(p+1)[1]的区别
1、c语言*p和p的区别是:指针符不同:用法不同、运算符不同、变量不同、类型不同。指针符不同:通常用于解引用指针,即获取指针所指向的存储单元的值,而p只是一个指针变量的名称,用于存储指针的地址。
2、c语言的指针部分 *p与p区别如下:作用不同 p表示此指针指向的内存地址中存放的内容。p是一个指针变量的名字,表示此指针变量指向的内存地址。输出内容的格式不同 p常用在一个和指针类型一致的变量或者常量。
3、表示的东西不同 p表示p代表相应数据类型在存储单元中存储的首地址,而这个存储单元存储的是相应类型数据的数值。
Q5: C语言中*p和**p有何区别
p和**p的区别:指针级别不同 p是一级指针。p是二级指针。表示的含义不同 p表示p所指向的地址里面存放的是一个int类型的值 。p表示p所指向的地址里面存放的是一个指向int类型的指针。
int *p表示的是一级指针,表示p所指向的地址里面存放的是一个int类型的值。int **p表示的是二级指针,表示p所指向的地址里面存放的是一个指向int类型的指针。一级指针存放变量的地址,指向的值是变量的内容。
结合性不同:前者是指针数组,为4个int指针的数组,有4个元素;后者是数组指针,为一个指针,类型为指向包含4个int类型元素的一维数组的指针。
c语言p和(p)的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言*p=a和p=a、c语言p和(p)的信息别忘了在本站进行查找喔。







