C语言中*P都有什么含义

如题所述

*p[]=*p([]),首先,它是一个数组,数组里面保存的是指针

(*p)[]则不同,首先它是一个指针,然后,它指向一个数组,但通常,再定义的时候需要指定所指向数组的大小。

示例:

#include <STDIO.H>

int main(int argc, char *argv)

 char a[10]="test"; 

 char *(p[])={"hello","world!"};//char指针数组,两个元素,分别指向hello和world

 printf("%s\n%s\n",p[0],p[1]);//分别输出两个元素

 char (*p2)[10]=&a;//指向数组的指针,所指向的数组有10个char元素

 printf("%s\n",p2);

 return 0;

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-28
1.
p是数据变量时,*p是乘以p的意思。
2.
p是有效指针变量时,*p是取p指向的目标值的意思。
3.
在声明语句中,*不与p结合而与前面的类型符结合,表示声明一个该类型的指针变量p——如int
*p;表示声明一个int
*型变量p。
第2个回答  2019-11-25
c语言
*
是指针运算符。
*p表示指针变量p所指向的变量的值。即p中存储的内存地址
所存储的变量的值。
另外
容易混淆的地方是;
定义一个指针变量p时,如
int
*p;
表示定义了一个指向整型变量的指针变量p。
望采纳。本回答被提问者采纳
相似回答