C语言中指针数组的概念和定义

C语言中指针数组的概念和定义:

概念:

1:一个数组的元素值为指针则为指针数组;
2:指针数组是一组有序的指针的 集合
3:指针数组的所有元素都必须是指向相同数据类型的指针

定义:
类型说明符 * 数组名[数组长度];
类型说明符就是指针指向的存储单元的数据类型
如int *pa[3] //pa是指针数组,它是三个数组元素,每个元素值都是一个指针,指向整形变量;

注意:指针数组和数组指针的区别
指针数组就是指针的数组,数组的元素是指针,而数组指针是一个行指针int (*pa)[20],指向一个包含N和元素的一维数组

指针数组和数组指针的相关代码

#include<stdio.h>
int main(int argc,char *argv[]){

    int arr_num[4] = {1,4,5,8};
    //指针数组(int *)
    int *arr_num_pointers[4] = {&arr_num[0],&arr_num[1],&arr_num[2],&arr_num[3]};

    int i = 0;
    for(i; i<4 ; i++){
        printf("%d\n",*(arr_num_pointers[i]));
    }   
    //行指针,数组指针
    printf("===============\n");
    //arr_num是列地址,而int (*p)[4]则是行地址,所以在输出的时候需要&将列地址转换为行地址,所以只有&arr_num可以赋值给数组指针,其他两个是会抛出警
告的
    printf("&arr_num add:%p,arr_num add:%p,arr_num[0] add:%p\n",&arr_num,arr_num,&arr_num[0]);
    int (*p)[4] = arr_num;
    for(i=0;i<4;i++){
        printf("%d\n",*(*p+i)); 
    }   
    return 0 ; 
}

代码能够run,如果有需要的话,可以直接拉下来run一下,看看结构体数组是怎么进行初始化操作和使用的。谢谢大家的访问,如有写的不好的地方,希望大家能够及时的提出来,谢谢观看

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值