int *p[10] 和(*p)[10]程序中体现区别.运行一遍,就都懂了

首先int *p[10] :数组中10个数均为指针,一共10个指针。等价于int * (p[10]);10个指针

int (*p)[10]表示一个指向为10个整型元素数组的指针,就1个指针
#include <stdio.h>
int main()
{
    int a[10] = { 1,2,3,4,5,6,7,8,9,0 };
    int b[10] = { 1,2,3,4,5,6,7,8,9,0 };
    int c[10] = { 1,2,3,4,5,6,7,8,9,0 };
    int *p[3];  
    p[0] = &a[0];//第一个指针指向a数组首元素
    p[1] = &b[0];//第二个指针指向数组b首元素
    p[2] = &c[0];
    for (int i = 0; i < 10; i++)
        printf("%d", p[0][i]);输出为1,2,3,4,5,6,7,8,9,0
    printf("\n");
    for (int i = 0; i < 10; i++)
        printf("%d", p[1][i]);
    printf("\n");
    for (int i = 0; i < 10; i++)
        printf("%d", p[2][i]);//这里p[2]表示一个指针,可以把p[2]整体作为*q,就相当于q[i]
    printf("\n");
    return 0;
}

 

#include <stdio.h>
int main()
{
    int a[10] = { 1,2,3,4,5,6,7,8,9,0 };    
    int (*p)[10];//这里10表示数组中为10个整型元素
    p= &a[0];    
    for (int i = 0; i < 10; i++)
        printf("%d", p[0][i]);//这里p[0]表示一个数组,p[0][i]表示数组第i个元素,输出为1,2,3..9,0
    printf("\n");    
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值