zl程序教程

您现在的位置是:首页 >  后端

当前栏目

再来一波关于数组的操作

数组 操作 关于 一波
2023-09-11 14:20:37 时间

感觉以前总结的指针和数组挺多的,emmm,,

后面有时间把他们综合一下。。


#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a[5] = {1,2,3,4,5};
    int *p=(int *)(&a+1);
    printf("%d,%d\n",*(a+1),*(p-1));
    return 0;
}
输出
2,5

*(a+1) 就是 a[2]
*(p-1) 就是 a[4]

注意一个东西就行了,&a+1 到底表示的是什么?

是下一个a数组,即a[5]


还有这种

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a[5] = {1,2,3,4,5};
    printf("%d\n",sizeof(a));
    printf("%d\n",sizeof(&a));
    return 0;
}
20
4

Process returned 0 (0x0)   execution time : 0.036 s
Press any key to continue.

sizeof(a) 表示的就是该数组所占字节数
sizeof(&a)其实是把它看做指针,然后指针所占的字节数