C语言中 指针int *a=10;和int *a; *a=10;的区别
来源:百度知道 编辑:UC知道 时间:2024/05/15 15:08:58
第一:
#include <stdio.h>
main()
{
int *p=10,*q=20;
printf("%d,%d",*p,*q);
}
第二:
#include <stdio.h>
main()
{
int *p,*q;
*p=10;
*q=20;
printf("%d,%d",*p,*q);
}
这两个问题打印出来的值怎么不一样?希望高手帮忙
#include <stdio.h>
main()
{
int *p=10,*q=20;
printf("%d,%d",*p,*q);
}
第二:
#include <stdio.h>
main()
{
int *p,*q;
*p=10;
*q=20;
printf("%d,%d",*p,*q);
}
这两个问题打印出来的值怎么不一样?希望高手帮忙
int *p=10; // 相当于int *p; p=10;
相当于把0x00001010(二进制的“10”)这个地址直接赋值给指针p。
而int *p; *p=10;则是正确的写法,这里p的值由系统分配,比如是0x22334455,这个地址对应的内存单元存放的值是10。
只要记住这点:
定义指针*p p=一个地址(比如&a或则a[0])
*p=*(&a)=*(a[0])
*和&消除
所以*p=a *p=a[0]
请问:
int x;
int *p=x;和int *p=&x;那个是正确的
你的代码改成这样就行了:
#include <stdio.h>
main()
{
int x=10,y=20,*p=&x,*q=&y;
printf("%d,%d",*p,*q);
}
支持 风骚的可乐 的 他的完全正确
C语言中 指针int *a=10;和int *a; *a=10;的区别
C语言中为什么int a=-1 printf("%o",a)等于177777
c语言int *p=a解释
C语言中 int a=9,b=5; 那么表达式b=(a=4)/(b=a)的值为什么是1?
c语言中,int是什么意思?
C语言中 设 int a[]={1,2,3,4,5}, *p=a 则数组元素的正确表示是()
C语言:int a=2; a+=a-=a*a 执行后.......
C语言:int a=12; a+=a-=a*a 执行后..得到多少???...
c语言int a[10] 10是什么意思
c语言:void reverse(int a[], int n)是什么意思