指向数组的指针

#include <iostream>

using namespace std;
int main()
{
    int A[2][5]={{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}};
    int (*p_a)[5];
    p_a = &A[1];
    cout<<*((*p_a)+2)<<endl;
    cout<<(*p_a)[2]<<endl;
//    int &b=a;
//    cout<<sizeof(b)<<endl;
//    cout<<"hello world!"<<endl;
    return 0;
}
时间: 2024-10-07 05:31:27

指向数组的指针的相关文章

编程题:比较指向数组元素的指针变量和指向数组的指针变量的不同。

#include<stdio.h> void main() {int a[2][3]={1,2,3,4,5,6}; int *p1,(*p2)[3]; /*p1指向数组元素,p2指向包含3个元素的一维数组*/ p1=a[0];p2=a; /*用指向数组元素的指针变量输出二维数组元素*/ for(;p1<a[0]+6;p1++) printf("%4d",*p1); printf("\n"); /*用指向以为数组的指针变量输出二维数组元素*/ for

[C++程序设计]用指向数组的指针作函数参数

1 #include <iostream> 2 using namespace std; 3 4 int main() 5 { 6 void output(int (*p)[4]); 7 int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; 8 output(a); 9 return 0; 10 } 11 12 void output(int (*p)[4]) 13 { 14 int i,j; 15 for(i = 0; i < 3; i ++) 1

C语言数组指针(指向数组的指针)

注意:数组指针的定义,与指针数组的区别 转载:http://c.biancheng.net/cpp/biancheng/view/162.html 指向多维数组元素的指针变量 ① 指向数组元素的指针变量[例6.7]输出二维数组各元素的值.这里采用的方法是用基类型为整型的指针变量先后指向各元素,逐个输出它们的值. #include <iostream> using namespace std; int main( ) { int a[3][4]={1,3,5,7,9,11,13,15,17,19

C++——指针---指向数组的指针---指向字符串的指针--指向函数的指针--指针的指针--指针的引用

一.指向数组的指针 代码示例1: 1 int main() 2 { 3 int a[10]={0,2,4,6,8,10,12,14,16,18}; 4 int *p; 5 for(p=&a[0];p<&a[0]+10;p++) 6 printf("%d ",*p); 7 } 代码示例2: int a[10]={0,2,4,6,8,10,12,14,16,18}; int *p; p=a; printf("%d\n",*(a+5));//注意加括

数组的地址+1 和 指向数组的指针+1 区别

定义了数组a[8],其中a,&a,&a[0]都是数组的起始地址.但是步长有区别,也就是指向的类型不同 a等同于a+0等同于&a[0],是指向数组第一个元素的指针,步长为指向的元素所占用的地址空间为sizeof(int) . &a也是指向数组第一个元素的指针,但其意义是指向整个数组的首地址,指向的类型为整个数组,所以其步长为8*sizeof(int) 而ptr指,针指向的是数组的是首地址,所以*(ptr-1)的值是8 即输出的结果是8 #include <stdio.h

利用指向数组的指针来得到数组的最后一个数

今天在一个CSDN博客上看了一篇文章,是关于数组与指针的问题,感觉挺好的,大致描述如下: #include "stdio.h" int main() { int a[5]={1,-100,3,2,5}; int *ptr=(int *)(&a+1); printf("%d,%d",*(a+1),*(ptr-1)); } 输出为:-100,5 请解释以上代码的输出结果. 解释如下: *(a+1)其实很简单就是指a[1],输出为-100. 问题关键就在于第二个点

关于C语言: 初始化一个指向数组的指针变量为什么不需要&amp;符号?

C语言中数组名就是第一个元素的地址,所以可以直接把它赋给一个指针,不需要取地址. 1 void InitBiTree(SqBiTree T) 2 { // 构造空二叉树T.因为T是数组名,故不需要& 3 int i; 4 for(i=0;i<MAX_TREE_SIZE;i++) 5 T[i]=Nil; // 初值为空(Nil在主程中定义) 6 } 上述初始化代码中T是一个数组名,也就代表了数组的首地址,是一个地址,就不需要取地址符. 如下边初始化就不一样 1 void InitString(

指向数组的指针做函数参数练习----打印不及格学生成绩

输出不及格学生的序号以及他们的所有成绩. #include <stdio.h> int main(){ void search(float (* p)[4]); //数组表示3名学生的4门课的成绩,本程序要找到有不及格课程 //的学生序号,并打印出来他们的所有成绩 float score[3][4]={{5,67,89,78}, {34,78,90,78}, {89,87,98,90}}; search(score); } void search(float (* p)[4]){ for(in

一级指针,二级指针,指向数组的指针

对"black,green,yellow,pin,red"几个单词排序 01 #include <iostream.h> #include <string.h> void sort(char (*p)[20],int n) { char *q; char b[20]; q=b; int i,j; for(i=0;i<n;i++) { for(j=i+1;j<n;j++) { if(strcmp(p[i],p[j])>0) { strcpy(q,