为您找到"
c语言,多重指针。例如int **p,intq,如果p=q,那么p=&q对吗
"相关结果约100,000,000个
int **p; p是二级指针。int q; q是整型变量。那么 p=q; 本身就是不对的。p=&q一样不对。都是类型不匹配。 p二级指针, &q一级指针。 q整型变量。 这三个类型都不一样。正确做法是 int **p, *p1, q;p1=&q;p=&p1;这样类型才是对的。
p 是指针变量p指向的变量a的存储内容,*p = 5;p 是指针变量的存储内容,因为p指向a,所以p的存储内容(存储空间的值)就是系统为变量a分配的存储地址;2、分析:int a = 5;int* p = &a;int* q = p;3、【说明】1)上面的程序中首先声明了一个int类型的变量a,初始化为5;这个过...
如果是char型指针,则所指向的数据为1个字节,则值为0x00,也就是0 即使p与q相等,也不代表*p与*q相等。关键就在于p与q的类型不一定相同!比如:int a = 256;int* p = &a;char* q = (char*)&a;此时p与q指向同一个地址,即p的值与q的值相等 但*p为值为256,而*q的值为0,显然不...
int *p=&a;即声明一个整型指针变量p,并给指针变量p赋初值为变量a的地址。即p中存放的是变量a的地址。如果,*p=&a;这样话,是把变量a 的地址存到指针变量p所指向的内存单元中.例如:main(){ int *p,**k,a,s,t;a=5;p=&a;/*指针变量p存放变量a的地址*/ s=*p;k=&p;/*指针量变量...
int *p=&a ; 这是很标准的,把a的地址个p指针变量。int *q;q=&a;这也是很标准的。定义一个指针变量,然后将a的地址赋值给她。int *r; *r=&a; 首先r是个指针变量,但是r指向内存中那个单元格呢?r没有赋初值就开始用了。这是很严重的。r是个游离态的指针。 *r表示取出r对应的那个地址...
答:*p=*q与p=q的本质区别在于:*p=*q操作的是变量存储的数值,p=q操作的是指针变量本身 C语言中,指针操作主要有以下三种情况:p 是指针变量p指向的变量a的存储内容,*p = 5;p 是指针变量的存储内容,因为p指向a,所以p的存储内容(存储空间的值)就是系统为变量a分配的存储地址;&p ...
回答:p是指针变量,取p地址的地址赋值给一个变量,用&p,这是对的。 问题在于用来存储这个结果的变量是什么类型的,应该是指向指针的指针,int **q。 int *p, *q p=new int; *p = 30; *q = p; // 直接访问*q是危险的!应该先给q赋值再访问*q,比如 q= new int; q = &p; // ...
p = &q是把q的地址给p,使p指向q p= q是把q的值赋给p所指向的存储单元 画个图好理解些
C语言10个小知识了解指针 1.若有代码,int a=10,*p;p是指针:也是一个变量,且是一个只能用来存放地址的变量。2.若有代码,int a=10,*p;p=&a;当执行了上面的代码,会说“p指向了a”,其实就是“p指针变量存放了a的地址”。3.两个*的区别,有如下代码:inta=10,*p;//该处的* 说明p是...
q=p 即将p的值(地址)赋给q,操作完之后 p指向 m;q指向m 操作 *p时 *q的值也会改变