因为数组的地址是连续的 所以呢 可以利用指针来输出数组

  //声明数组、变量和指针变量
    int a[2][3],i,j;
    int* ip;

    //从键盘上为数组a赋值
    for (i=0;i<2;i++)  //为数组a赋值
        for (j=0;j<3;j++)
        {
           cout<<"a["<<i<<"]["<<j<<"]=";
           cin>>a[i][j];
         }

    //利用下标变量显示数组a
    for (i=0;i<2;i++) {
        for (j=0;j<3;j++)
        {
           cout<<a[i][j]<<"  ";
        }
        cout<<endl;
    }

    //利用指针变量显示数组a
    ip=&a[0][0];
    for (i=0;i<2;i++) {
         for (j=0;j<3;j++)
         {
            cout<<"a["<<i<<"]["<<j<<"]=";
            cout<<ip<<"  ";
            cout<<*ip<<endl;
            ip++;
         }
    }
其次指针是可以比较大小的 可以加减的 
时间: 2024-12-16 00:52:38

因为数组的地址是连续的 所以呢 可以利用指针来输出数组的相关文章

作业1—利用指针完成对数组的遍历

---恢复内容开始--- #include <stdio.h> int main() { int a[8]={1,2,3,4,5,6,7,8};//本人学号尾数4 故定义a[8] int *p;//定义指针 for(p=a;p<(a+8);p++)//定义一个for循环 减少步骤以及对数组a遍历 printf("%d\n",*p);//利用指针输出数组 } 总结:中间出现一个错误 在我定义指针*p后又重新定义整型p 便出现了重复定义的错误 以及在某些步骤中for循环可

数组首地址取地址

一.问题来由 普通指针可被改动导致地址偏移: #include <iostream> using namespace std; int main(int argc,char *argv[]) { int a = 6; int *p = &a; //p存放一个地址.pp存放p的地址,上面的代码能够让p存放的地址偏移 cout<<&a<<endl; int *pp = (int *)&p; cout<<p<<endl; (*p

【c语言】用指针变量输出一维数组中的数据

#include<stdio.h>void main(){    int i,*m,a[5];    printf("数组:"); //普通方式输出数组的元素    for(i=0;i<5;i++){        a[i]=rand()%100;            printf("%-4d",a[i]);    }    printf("\n");    m=&a; //指针变量输出数组的元素    for(i=0

&lt;15&gt;【掌握】一维数组的存储方式+【掌握】一维数组长度计算方法+【了解】一维数组元素地址+【掌握】一维数组长度计算方法 +【掌握】一维数组的越界问题+【掌握】应用:找最大值

[掌握]一维数组的存储方式 存储方式: 1)分配一块连续的存储空间 2)数组名称代表数组的首地址,从首地址开始,依此存入数组的第一个,第二个...第n个元素 3)每个元素占用相同的字节数(取决于数组类型) 4)元素之间的地址说连续. [了解]一维数组元素地址 #include <stdio.h> int main(int argc, const char * argv[]) { //定义两个数组 int x[]={1,2}; char ca[5]={'a','B','C','D','E'};

利用指针地址偏移打印一维数组

// //  main.c //  利用指针地址偏移打印一维数组 // // Created by wanghy on 15/7/24. // Copyright (c) 2015年 wanghy. All rights reserved. // #include <stdio.h> #define len 10 int main(int argc, const char * argv[]){ //定义一个存放  int 类型元素的一维数组. int arry[]={1,2,3,4,5,6,7

[转]jna模拟指针开辟空间,数组首地址获取值

http://blog.csdn.net/zhuzhichao0201/article/details/5817819 不是很明白,先记在这里 ------------------------------------------------------------ dll里面给的函数如下:ReadWordBlock(HANDLE hScanner,  BYTE EPC_WORD,  BYTE *IDBuffer,  BYTE mem,  BYTE ptr,  BYTE len,  BYTE *D

C语言多维数组的地址

设有整型二维数组a[3][4]如下: 0   1   2   3 4   5   6   7 8   9  10  11  它的定义为:     int a[3][4]={{0,1,2,3},{4,5,6,7},{8,9,10,11}} 设数组a的首地址为1000,各下标变量的首地址及其值如图所示. 前面介绍过,C语言允许把一个二维数组分解为多个一维数组来处理.因此数组a可分解为三个一维数组,即a[0].a[1].a[2].每一个一维数组又含有四个元素. 例如a[0]数组,含有a[0][0],a

浅谈C/C++数组取地址

本文讲的是关于C/C++数组取地址一些基本的概念,但是新手可能会在学习相关内容时产生一定的困惑,希望本文能帮助到你. 我们先来看以下一段代码: 1 #include<iostream> 2 using namespace std; 3 int main(){ 4 int array[6] = { 1,2,3,4,5,'\0'}; 5 cout<<array<<endl; 6 cout<<&array<<endl; 7 return 0;

128. Longest Consecutive Sequence *HARD* -- 寻找无序数组中最长连续序列的长度

Given an unsorted array of integers, find the length of the longest consecutive elements sequence. For example,Given [100, 4, 200, 1, 3, 2],The longest consecutive elements sequence is [1, 2, 3, 4]. Return its length: 4. Your algorithm should run in