|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
看完视频想做个总结,但是不知道对不对
指针就是指向一个地址,这个地址存放常量
指针数组就是指向一个数组 ,这个数组里面都是指针
数组指针就是直接指向一个数组,数组常量元素不是指针,
看完视频想对于自己的理解不知道对不对,请各位大哥给我分析一下
带不带*代表的分别是什么意思,
- #include <stdio.h>
- int main()
- {
- int temp[5] = {1, 2, 3, 4, 5};
- int (*p2)[5] = &temp;
- int i;
- for (i = 0; i < 5; i++)
- {
- printf("%d\n", *(*p2 + i));
- }
- return 0;
- }
- [fishc@localhost s1e23]$ gcc test4.c && ./a.out
- 1
- 2
- 3
- 4
- 5
复制代码
就是这个*P是不是代表着指向这个数组的第一位数1 但是不显示这个第一位数,*(*p)才是提取显示这个数组的各个元素
求各位大佬解答下
指针存放地址,这个地址对应的内存空间又存放有其他数据
指针数组就是一个数组,它的每一个元素都是一个指针
数组指针是一个指针,指向一个数组
(*p)[5] = &temp; (数组指针指向一维数组要加& 二维数组不用&)
通过指针法访问数组 以二维数组为列是这样的*(*(p + i) + j) 表示取temp[i][j];
三维数组就是*(*(*p + i ) + j ) + k) 表示取temp[i][j][k]
现在temp是一个一位数组他的i就是0
也就是*(*(p + 0) + j)
就是*(*p + j) 即取temp[j]
|
|