c++怎么输出数组的值而不是地址,c语言怎么显示数组

  c++怎么输出数组的值而不是地址,c语言怎么显示数组

  #包含stdio.h

  int main(void) {

  int I;

  int a[5]={

  1, 2, 3, 4, 5

  }

  ;

  int * p=a;

  //p指向a[0]

  for(I=0;i5;i ) {

  printf( a[% d]=% d *(a % d)=% d p[% d]=% d *(p % d)=% d \ n ,I,a[i],I,*(a i),I,p[i],I,*(p I));

  }

  for(I=0;i5;i ) {

  printf( a[% d]=% p a % d=% p p[% d]=% p p % d=% p \ n ,I,a[i],I,(a i),I,p[i],I,(p I));

  }

  }运行结果:

  #包含stdio.h

  int main(void) {

  int I;

  int a[5]={

  1, 2, 3, 4, 5

  }

  ;

  int * p=a[2];

  //p指向a[2]

  for(I=0;i5;i ) {

  printf(a[%d]=%d *(a %d)=%d\n ,I,a[i],I,*(a I));

  }

  puts(-);

  for(I=-2;i3;i ) {

  printf(p[%d]=%d *(p %d)=%d\n ,I,p[i],I,*(p I));

  }

  puts(-);

  puts(-);

  for(I=0;i5;i ) {

  printf(a[%d]=%p a %d=%p \n ,I,a[i],I,(a I));

  }

  puts(-);

  for(I=-2;i3;i ) {

  printf( p[%d]=%p p %d=%p\n ,I,p[i],I,(p I));

  }

  }运行结果:

  数组正确地指向数组中的元素。

  int a[5]={1,2,3,4,5 };

  int * p=a;//p指向一个[0]数组是错误的,指向数组中的一个元素。

  int a[5]={1,2,3,4,5 };

  int * p=a[2];//无法赋值,因为:a[2]的类型是int,而P的类型是int *。它们是不同的,不能互相分配!

  在以下两种情况下,数组名不会被视为指向其实际元素的指针。

  当作为sizeof运算符的操作数出现时

  Sizeof(数组名)不生成指向开始元素的指针的长度,而是生成整个数组的长度。当作为寻址操作符的操作数出现时

  数组名不是指向起始元素指针的指针,而是指向整个数组的指针。如果指针操作符*写在指向数组中元素的指针p i之前会发生什么?

  因为p i是指向p所指向的元素之后第I个元素的指针,所以在它之前加上指针运算符得到的*(p i)就是该元素的别名。因此,如果p指向a[0],那么表达式*(p i)代表a[i]本身。

  总结:

  当指针P指向数组中的元素E时,

  *(p i)指向元素e之后的第I个元素,可以写成p[ i]。

  *(p-i)指向E元素之前的第I个元素,可以写成p[-i]。当数组A中的元素个数为n时,组成数组A的元素为a[0]到a[n-1],共“n”。但是,指向数组元素的指针可以是a[0]到a[n],总共有“n-1”。之所以会出现这种情况,是因为在判断遍历数组元素的结束条件(是否已经到达末尾)时,使用指向最后一个元素之后的元素的指针非常方便。当Type*指针P指向类型数组A的起始元素a[0]时,指针P的行为就像数组A本身一样。数组的下标表示元素在开始元素之后的位置,因此它必须从0开始。注意:

  虽然整数可以加到指针上,但是指针之间的减法是不可能的。指针之间的减法是可能的。正确分配数组的示例

  int *p

  int x[5];

  p=x;//正确的赋值数组,错误的赋值示例

  int a[3]

  int b[3];

  a=b;//错误赋值赋值表达式的左操作数不能是数组名。

  准确地说,指向数组开始元素的指针不能通过使用赋值运算符来更改。

  转载请联系作者授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: