当前位置:   article > 正文

int *p[10] 和(*p)[10]程序中体现区别.运行一遍,就都懂了_(*p)【10】在c语言什么意思

(*p)【10】在c语言什么意思

首先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;
}

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/79783
推荐阅读
相关标签
  

闽ICP备14008679号