C语言---指针数组和数组指针

本文详细探讨了指针和数组在C语言中的区别,指针作为左值可变,而数组名是地址常量。通过实例展示了指针数组的用法,以及如何使用数组指针来遍历和访问数组元素。代码示例中,分别用指针数组和数组指针打印字符串和整数数组的内容。
摘要由CSDN通过智能技术生成
  1. 指针和数组的区别
    指针式左值,左值就是识别或定位一个存储位置,是可改变的.
    数组名是一个地址常量不可改变,所以不是左值.
  2. 指针数组
    指针数组是一个数组,每个元素存放一个指针.
#include <stdio.h>

int main()
{
        char *p1[5] = {
                "让编程改变世界 -- 鱼C工作室",
                "Just do it -- NIKE",
                "一切皆有可能 -- 李宁",
                "永不止步 -- 安踏",
                "One more thing... -- 苹果"
        };
        int i;

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

        return 0;
}

[fishc@localhost s1e23]$ gcc test3.c && ./a.out
  1. 数组指针
    数组指针是一个指针,它指向的是一个数组
int (*p2)[5];
#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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值