学习c语言指针的一些小知识

来源:互联网 发布:python lxml etree 编辑:程序博客网 时间:2024/05/18 02:04

指针的sizeof()求得值都是固定的:都为4;

数组名在特定的情况下可以当作指针来使用,
数组与数组指针的差异
1、数组不能代表数组指针求数组长度

int main5(){    int a[5];    int *p = a;    printf ("%d\n",sizeof(a));    printf ("%d\n",sizeof(p));    return 0;

2、数组是个常量不可改变

int main(){    int a[5] = {1,2,3,4,5};    int *p = a;    int i;    for (i = 0; i < 5; i++)    {        printf ("%d\n", *(p++));    }    for (i = 0; i < 5; i++)    {        printf ("%d\n", *(a++));    }    return 0;}
// 数组名代表数组首个元素的地址,在某些场合// 可以当指针使用int main3(){    int a[5] = {1,2,3,4,5};    printf ("%d\n", *a);    printf ("%d\n", *(a+1));    printf ("%d\n", *(a+2));    printf ("%d\n", *(a+3));    return 0;}int main4(){    int a[5] = {1,2,3,4,5};    int *p = a;    int i;    for (i = 0; i < 5; i++)    {        printf ("%4d", *(p+i));    }    printf ("\n");    // *(p+i) == *(a+i) == a[i] == p[i]    for (i = 0; i < 5; i++)    {        printf ("%4d", p[i]);    }    printf ("\n");    return 0;}
原创粉丝点击