首页 > 编程语言 > 详细

C语言学习指针和数组2

时间:2019-09-19 16:57:01      阅读:95      评论:0      收藏:0      [点我收藏+]

一.指针和数组的区别

数组名是一个地址,而指针是一个左值。

二.指针数组和数组指针

int *p1[5]; 指针数组 //  []中的优先级高,故先定义了一个长度5的整型数组,然后数组中的每个元素都是指向int的指针。

技术分享图片

int (*p2)[5];数组指针 //()和[]优先级一样,结合后从左往右,故先定义了一个指向整型的p2指针,它指向有5个元素的一维数组。

技术分享图片

 

 1.指针数组 (example)

#include <stdio.h>

int main()
{
    int a = 1;
    int b = 2;
    int c = 3;
    int d = 4;
    int e = 5;
    int *p1[5] = {&a, &b, &c, &d, &e};
    int i;

    for (i = 0; i < 5; i++)
    {
        printf("%d\n", *p1[i]);
    }

    return 0;
}

技术分享图片

 

 

#include <stdio.h>

int main()
{
    char *p1[5] = {
    "让编程改变世界", 
    "just do it",
    "一切皆有可能",
    "永不止步",
    "one more thing" 
    };
    int i;
    for (i=0;i<5;i++){
        printf("%s\n",p1[i]);
    }
    return 0;
}

技术分享图片

 

 2.数组指针(example)

#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;
}

技术分享图片

 

 

#include <stdio.h>

int main()
{
    int temp[5] = {1, 2, 3, 4, 5};
    int *p = temp;
    int i;

    for (i = 0; i < 5; i++)
    {
        printf("%d\n", *(p + i));
    }

    return 0;
}

技术分享图片

 

 运算符优先级引用https://fishc.com.cn/forum.php?mod=viewthread&tid=67664&extra=page%3D1%26filter%3Dtypeid%26typeid%3D571

C语言学习指针和数组2

原文:https://www.cnblogs.com/guoweilf/p/11550726.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!