![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c
m0_58229878
这个作者很懒,什么都没留下…
展开
-
指针与整数,指针,数组的使用
1,&+数组名,例如int arr[10]={0};int *p=&arr,&数组名,数组名不是表示首元素地址,而是表示是整个数组的地址,&数组名取出的是整个数组的地址。如果直接使用数组名,像printf("%d\n",arr),这个例子中的arr代表的就是arr的首元素的地址。例:源代码:#include <stdio.h>int main(){ int arr[10] = { 0,1 }; printf("%p\n", arr);...原创 2021-09-06 09:34:47 · 151 阅读 · 0 评论 -
关于移位操作符的理解
首先得弄清楚移位操作符大概是什么意思,移位操作符移的位是二进制位,这个二进制数就是我们给定的十进制数对应的二进制数,>>代表向右移位,<<代表向左移位,那个尖尖在哪个地方就代表向哪移位,如果我们给的数是一个整数,那么整数对应的原码,反码和补码是一样的,只需要直接计算向左移位后的值就行。如果是负数的话我们需要首先将其二进制数的原码计算出来,然后通过1变为0,0变为1,符号位不变的原则得到反码,反码再加1得到补码,然后在补码的二进制数位中进行移位处理,处理完毕之后再减1得到反码,反码再经原创 2021-08-24 20:10:06 · 143 阅读 · 0 评论 -
关于数组名代表地址的理解
第一种:例如 printf("%p\n",arr),它所打印出来的值的意义是代表第一个数组元素对应的地址。例如printf("%p\n",arr[0]);他所打印出来的值的意义也是代表第一个数组元素对应的地址。例如printf("%p\n",&arr),他所打印出来的值的意义代表的是这个数组所在系统空间的地址。这三种输出结果最终打印出的结果可能是一样的,但是它们所代表的意思不完全相同,第一种和第二种都代表的是输出数组首元素的地址,而第三种代表的是 输出数组位于空间的地址。如果还不能清原创 2021-08-14 18:11:15 · 1492 阅读 · 0 评论