c语言指针问题

作者&投稿:国聪 (若有异议请与网页底部的电邮联系)
第一幅图中,stu_1是变量,所以把变量的地址即&stu_1赋给指针变量P
第二幅图:stu 是数组名,数组名本身就代表地址,可以直接赋给指针变量p

两个都是对的
第一个,stu_1是一个结构体,所以结构体指针指向它的地址,要加&
第二个,stu是结构体数组,数组名stu是指向第一个元素,即第一个结构体的constant指针,已经是地址了,所以不需要在前面加&

C语言指针问题~

30分钟彻底学会C语言指针

两者等价,一个是定义时初始化,一个是先定义,再赋值。效果一样!

C语言 指针问题
答:一个指针变量p有三个要素:&p、p、*p &p——系统分配给p的内存地址;p——p的地址中存放的值,即一个普通变量的地址,通常把这个普通变量称为"p指针指向的变量";p——p指针指向的变量的值。而一个普通变量x只有两个要素:&x、x &x——系统分配给x的内存地址;x——x的地址中存放的值,...

急!!叙述对C语言指针的认识,在使用指针时应该注意什么问题? 谢谢大神...
答:指针 从变量名处起,根据运算符优先级结合,一步一步分析:int p; //这是一个普通的整型变量 int *p; //首先从P 处开始,先与*结合,所以说明P 是一个指针,然后再与int 结合,说明指针所指向的内容的类型为int 型.所以P 是一个返回整型数据的指针 int p[3]; //首先从P 处开始,先与[]结合...

C语言指针问题
答:1.这里根本就没有赋值的语句,所以没有复制。(*s)&&(*t)&&(*t++==*s++) 这个条件就是没到s的结束且没到t的结束且*t == *s,就循环,t和s的指针都往后移。2.p是指针数组,就是有两个指针 for(i=0;i<2;i++) p[i]=ch[i];这个就是赋值给p指针,其中p[0] 等于ch二维...

C语言中关于指针问题
答:故此时(*w+1)[4]便相当于某一级指针向后偏移4个单位的值(与一维数组a[4]的意思差不多)。所以答案B中在(*w+1)[4]的基础上再加个*便有语法错了,就跟*a[4]一样。再所以,答案A是正确的也就不难理解了。按你题目的意思,答案D你应该理解了。还不理解就补充问题吧。。

c语言问题,关于指针的问题
答:显然p是一个指针变量。while()循环括号里的返回值,为0或NULL时,while循环直接结束。一、比如我们定义一个int型指针变量。int *p=NULL;初值为空。那么当执行while(p);时,只有p==NULL时,while循环才会结束。所以如果我们写while(p);printf。。。;那么只有当p为空时,后面的printf才会执行...

C语言指针的问题
答:1: 指针是int型。2:&i 只是代表变量的一个内存地址,并不会生成指针变量。更不会造车内存增加.3:若q是一个变量则输入没变化,但是如果是结构体或者类成员(成员函数),则有变化。4:首元素的地址,可以由首元素地址加上数据大小来算出数组内存单元,指针并不是单一的内存地址,它还包含了数据大小...

C语言 指针问题
答:int a[2][3], *p[3];分析:对于a来说,毫无疑问,a是一个二维数组,a的值指向int类型的起始地址。对于p,首先p先与'[ ]'结合 p[3],表示p是一个数组,p再与'*'结合成' *p[3] ',表示p数组里面存放的时指针变量,最后与int类型结合成' int *p[3] ',表示数组存放的时指向int类型...

C语言指针问题
答:include <stdio.h> define N 5 思路如下:void main(){int a[N];int *p=a; //指针P指向数据a的首地址 while(pa) //这个判断主要是为了方向输出a[N]printf("%d ",*(--p));//*(--p)是在使用P的值前,先将P--,在取P的值 //第一次P = a+5,超出数组范围,所以通过...

问两道C语言关于指针方面的问题
答:A,B是指针没赋值就使用,所以错。D选项中p是char指针,s是int指针,一般,s=p这里在编译时会报错或警告,因为类型不同,*s=1这里就有很严重的问题,因为s是int指针,指向的地方是4字节,p是char指针,指向的地方是1字节,s=p后再*s=1,会把p指向1字节后的三个字节覆盖。但实际上编译器是有...

c语言 指针问题 怎么会是这个结果?
答:q[3][0]相当于*q[3],即20 比如int a[]={1,2,3,4};int *p=a;则p[0]相当于*p即为1,p[1]相当于*(p+1)即为2,指针数组同理