为您找到"
c语言中 int *p = &a[0] 和 int *p; p = &a[0]; 是一个意思嘛
"相关结果约100,000,000个
更好的写法应该是int *p=a;因为C语言数组名等于首个元素的地址,也就是a == &a[0]int a[];int *p;p=a;也就是说p=a;了。p是一个指针,第一个语句在定义的同时初始化,第二个先定义后赋值。仅此而已。
int *p;p=&a[0];指针p会有一个自己的内存地址,通常占用4个字节(比如初始地址是0x22222222)。p的值是&a[0],也就是说从0x22222222开始,后面4个字节中存储的值是0x11111111。p的值就等于p所指向的内存地址中存储的值,也就是a[0]。所以*p等于1。如果*p=&a[0]的话,很容易出问题。比如...
(1)int *ptr; //指针所指向的类型是int (2)char *ptr; //指针所指向的的类型是char (3)int **ptr; //指针所指向的的类型是 int * (4)int (*ptr)[3]; //指针所指向的的类型是 int()[3] (5)int *(*ptr)[4]; //指针所指向的的类型是 int *()[4] 在指针的算术运算中,指针所指向的...
在C语言中,int *p和int(*)p具有相同的意义,表示p是一个指向整型数据的指针变量。这种声明方式使得p可以存储一个整型数据的地址。例如:int a = 10;int *p = &a;这里,*p的值为10,这里的*与int *p中的*含义不同,&操作符用于获取变量的地址,而*用于访问该地址中的值。另一种情况是int *...
对于二维数组a来说:int a[5][2]; a[0]是第0行起始地址指针 因此:int *p=a[0];相当于int *p; p=a[0];的合写,即p指向a数组第0行起始位置 相当于写:int *p=&a[0][0];c
现在公司要求对销售的房子必须包产到户,也就是说,现在必须提到x的时候能够管理到C。如果用程序表示上述内容的话就可以使用指针。首先定义一个指针p,让他指向地址A,地址A中住的是C,而x本来居住的地方的地址是B。OK,现在能知道p,*p,&p表示什么了吗?没错,p表示此指针指向的地址,就是A,而...
p=a[0],令p所指向地址的内容等于a[0],p是一个一级指针;p=&a[0],令p所指向地址的内容等于a[0]的地址,p是一个二级指针。
int a, *p = &a;而不能写成:int a, p = &a;第二种情况是定义以外的其他情况。*p 和 p 的区别在于,p 是一个指针变量,它包含的是地址。而 p 则是指针 p 所指向的地址的数据。例如,int a, *p = &a;,那么后续的 p 代表的是 &a,即 a 的地址。而 *p 代表的是 a。总的来说...
有啊,*p是个指针,他储存的是一个变量的地址。你把A[0]里的数据赋给他,是储存在那个变量中,不是在存*p中。另一个P是个变量,A[0]中的数据时存在P中 例如:int *p;p=&b;p=a[0];b==a[0] 值是放在b中 另一个是放在P中 ,不同的 对于...