数组指针应用

原创 2016年06月01日 12:59:40
/*
   用数组指针,多种方式输出a[2]
*/
#include<stdio.h>
#define L(a) sizeof(a)/sizeof(a[0])
typedef int Arr_int[4];
int main()
{
    Arr_int a={1,2,3,4};

    Arr_int *p=&a;//数组指针,*p的数据类型是4个int长
    printf("%d\n",p[0][2]);//先获取到a数组的访问权,在访问a中的相对于首地址偏移量为2的数,即为a[2];
    printf("%d\n",*(p[0]+2));//先获取a的地址,然后在a的首地址+2,表示偏移2个地址到a[2],*()表示输出地址对应的值
    printf("%d\n",(*p)[2]);//先获取a的地址,在利用[]的特性:指针+间接引用,输出a偏移2的地址的数值

    printf("%d\n",p[1][-2]);//p偏移一个数组指针地址,4个int。0 1 2 3 4 5 6 7 8 p指向4的地址,0--3内存的是a数组的各个值,p左移两个int地址指向a[2]
    printf("%d++++\n",*(*p+2));
    printf("%d\n",*(p[1]-2));
    printf("%d\n",p[2][-6]);
    printf("%d\n",p[3][-10]);
    printf("%d\n",*(p[2]-6));

   /* printf("%d....\n",*(p[0]));
    printf("%d-------\n",p[0]);
    printf("%d---\n",(*p));
    printf("%d******\n",&a);*/


    return 0;
}

数组指针与指针数组的应用实例

一数组指针的应用: #include "stdio.h" typedef   float(A)[10];         //定义一个字符型含有十个元素的数组类型A int main() {   ...
  • liuchuangjin
  • liuchuangjin
  • 2015年05月20日 09:26
  • 1471

数组指针和指针数组实例辨析

#include using namespace std;int main() { int a[5] = { 1,3,5,7,9 }; int b[4][3] = { { 1,2,3...
  • LYJ_viviani
  • LYJ_viviani
  • 2017年03月14日 16:10
  • 588

函数指针和函数指针数组及其应用

1. 函数指针 先来看一个简单的例子。 int a=3; void *p=&a; 这是一个基础的不能再基础的例子。相信学过指针的都能看得懂。P是一个指针,指向a。a 是一个整形变量。 函数指针和其类似...
  • yuexiang321
  • yuexiang321
  • 2016年09月25日 11:07
  • 2645

C语言二维数组与数组指针和指针数组的应用

#include #include float stu_ave(int *p,int n) //接收列地址,和元素个数   { int i; float sum = 0; for(i = 0...
  • qq1294272813
  • qq1294272813
  • 2017年04月16日 12:10
  • 736

指针数组简单使用

#include #include void main() { int **pp=calloc(3,4);//开辟二维数组,分配指针数组 int i=0; for(i=0;i...
  • earbao
  • earbao
  • 2016年11月15日 21:55
  • 1433

C/C++函数返回数组指针的一点点小姿势

数组指针问题一直是C/C++语言初学者的头疼问题,这里图图和大家分享一下函数返回数组的问题。如果在函数里定义静态数组,那么函数结束时数组内存空间也就会被释放,这时候如果返回数组首地址的话,那么获得的指...
  • u011106520
  • u011106520
  • 2014年03月29日 23:55
  • 1271

指向结构体数组的指针应用

#include struct stu{ int num; char name[10]; float score;}st[3] = {11,"Maggie",69,12,"Jeny",92.13,13...
  • u010345869
  • u010345869
  • 2014年04月14日 11:00
  • 2136

C++ 高维指针数组 与 高维数组指针(二)

本文首先给出高维指针数组 与 高维数组指针的代码实现,然后,通过取址操作与移址操作说明,移位、移行、移数组的操作方式。【特】高维数组指针存放的是数组首个元素的地址而不是首元素地址本身,这一点跟一维数组...
  • u013630349
  • u013630349
  • 2015年04月11日 22:42
  • 851

数组指针的三种定义形式

//定义数组指针1 void main2201() { //定义一个数组数据类型 typedef int (MyArrayType)[5]; int i = 0; //用类型定义变量 MyArrayT...
  • qq_31339221
  • qq_31339221
  • 2017年08月08日 10:33
  • 239

指针数组&数组指针的分配内存及函数参数 C语言版

最近写代码总是被基础知识卡住,十分耽误时间,今天又卡住了。所以下定决心一定要弄清楚这个问题,然后不好的是网上的资料总是解决的并不清楚,总是在纠结什么是指针数组什么是数组指针,看了《C缺陷和陷阱》也没有...
  • WSRspirit
  • WSRspirit
  • 2016年04月29日 20:20
  • 3169
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数组指针应用
举报原因:
原因补充:

(最多只允许输入30个字)