为您找到"
c语言中*p=&a和p=&a有什么区别
"相关结果约100,000,000个
p = c 就是数组指针p指向 &c[0], 当p = c时p[0]就是c[0], p[1]就是c[1]; p[1][0]就是c[1][0];上面的定义可用如下替换:typedef int MyType[5];//定义一个新的类型,大小为5个整数.MyType c[4];MyType *p;p = c;这样就好理解啦.C中指针与数组关系较复杂, 但只要把a...
不太明白你问题是什么,但"="在C语言里是赋值的意思,"等于"表示一个变量的内容或值的意思 int *p = &a; 表示声明一指针变量叫作p, 它的内容(即它的值)是a的地址 a = 1;表示a的值是1,也就是在给变量a的地址里放了一个值,即1,*p的意思就是从p的内容里(即a的地址里取出它的内容...
一、意思不同 (p+2) 表示先将地址后移两位,再取地址内容。*p+2 表示先取当前地址内容,然后对内容加2。一个是对地址的操作,一个是对内容的操作,完全不同。二、用法不同 例如:有数组a:1 2 3 4 5 p=&a;那么:(p+2)=3,*p+2=3 p就等于1.*(p+X)就是将指针移x的位置。三、...
回答:i++是在使用i之后,使i的值加1. 假设p=&a,*p=s[i++]的意思就是把s[i]的值赋给a,然后使i加1;s[i++]=*p的意思就是把a的值赋给s[i],然后使i加1。
先上结论:对于int a[5],*p;p=a; 或p=&a[0]是正确的 p=&a严格来说是错误的 首先要搞清楚a与&a的区别:a表示数组首元素的首地址,即元素a[0]的地址;&a表示整个数组的地址。二者的值是相同的,但意义并不一样。正如成都市政府与四川省政府的地址都在成都,但二者表示的含义不同。如下...
在C语言中,int **pp,*p,a=10,b=20; 这行代码声明了一个指向整型指针的指针变量pp,一个指向整型的指针变量p,以及两个整型变量a和b,其中a初始化为10,b初始化为20。接下来的代码行是pp=&p。这里将指针p的地址赋值给了指针的指针pp,意味着pp现在指向p这个指针。紧接着是p=&a,这行代码...
->指针操作符的优先级非常高,于是*p->a就是*(p->a),取得指针p指向的结构体的成员a(也是指针)指向的第一个元素。p->a是取得p指向结构体的成员a,等价于(*p).a
就是把P指向a[0][0]的地址,*p+1,根据优先级,其实是(*p)+1,相当于a[0][0]+1
没有什么区别,只是声明风格不同。但是int* 这种声明容易引起误解,以为int*是一种数据类型,认为在同一声明语句中定义的其他变量也是指向int类型的指针。例如:int* p,q;p是指向int类型的指针,而q只是int类型的变量。
8、高级语言中的取地址符,如:“int a=0;int *p;p=&a;”,意为取变量a的地址给指针p。 9、C语言中两个&&表示“与”运算。 抢首赞 已赞过 已踩过< 你对这个回答的评价是? 评论 分享 复制链接https://zhidao.baidu.com/question/700497426496948884/answer/4568903096.html 新浪微博 微信扫一扫 举报 ...