指针指向数组

简介: 指针指向数组

指针用于“存放内存单元地址”

声明:数据类型 *标识符;//形如 int *p;//存放int数据类型的地址

数据在定义的时候程序就已经为其分配内存空间

其中关于* 和 &作为一元操作符时

int *p;//*声明指针
int a;
int *ptr=&a;//&取地址,&作为参数传入函数的时候是引用

指针的赋值

int a;
int *p=&a;//指向a地址的指针

等价于

int a,*p;
p=&a;

ok,我们来看一下数组

数组名实际上是一个不能被赋值的指针(指针常量)

接下来我们可以通过指针来取出数组中的数据

#include<iostream>
using namespace std;
int main(){
  //对于指针的学习笔记;
  //指针是用来存放数据的内存单元地址的,声明一个变量的时候就已经为该变量申请内存空间
  cout<<"指针是用来存放数据的内存单元地址的,声明一个变量的时候就已经为该变量申请内存空间"<<endl;
  int a=1;//已经为a分配空间
  int *p=&a,*pa;
  pa=&a;//指向int型数据地址的指针,也就是说int *p=&a等价于int *p;p=&a; 
  cout<<"p="<<p<<endl;
  cout<<"*P="<<*p<<endl;
  cout<<"pa="<<pa<<endl;
  cout<<"*pa="<<*pa<<endl;
  cout<<"-------------------------\n测试:\n";
  //进阶,我们知道数组的名字表示首地址,我们用指针来打印数组
  int array[]={1,9,9,8,0,8,22};//七个元素
  int *ptr=array;//声明指针的时候指向数组第一个元素的地址 也等价于int *ptr;ptr=array;
  //等价
//  int *ptr;
//  ptr=array; 
  for(int i=0;i<7;++i){
    cout<<*(ptr+i)<<" ";
  } 
  cout<<endl;
  return 0;
}

上面是我测试的时候用的,简化一下

#include<iostream>
#include<stdlib.h>
using namespace std;
int main(){
  system("color 3");
  cout<<"-------------------------\n测试:\n";
  //进阶,我们知道数组的名字表示首地址,我们用指针来打印数组
  int array[]={1,9,9,8,0,8,22};//七个元素
  int *ptr=array;//声明指针的时候指向数组第一个元素的地址 也等价于int *ptr;ptr=array;
  for(int i=0;i<7;++i){
    cout<<*(ptr+i)<<" ";
  } 
  cout<<endl;
  system("pause");
  return 0;
}

ok,nice !

目录
相关文章
|
2月前
|
搜索推荐 C语言
指针与数组
指针与数组
51 9
|
2月前
|
算法 Java
双指针在数组遍历中的应用
文章深入探讨了双指针技术在数组遍历中的应用,通过实战例子详细解释了快慢指针和首尾指针的不同用法,并提供了解决LeetCode相关问题的Java代码实现。
|
2月前
|
存储 程序员 C语言
指针的高级应用:指针数组、数组指针、函数指针等。
指针的高级应用:指针数组、数组指针、函数指针等。
81 0
|
3月前
|
运维
开发与运维数组问题之指针的加减法意义如何解决
开发与运维数组问题之指针的加减法意义如何解决
38 7
|
3月前
|
C++ 索引 运维
开发与运维数组问题之在C++中数组名和指针是等价如何解决
开发与运维数组问题之在C++中数组名和指针是等价如何解决
22 6
|
3月前
|
存储 C++ 运维
开发与运维数组问题之指针的定义语法如何解决
开发与运维数组问题之指针的定义语法如何解决
27 6
|
4月前
|
编译器 C语言
指针进阶(数组指针 )(C语言)
指针进阶(数组指针 )(C语言)
|
4月前
|
C语言
【C语言】:详解函数指针变量,函数指针数组及转移表
【C语言】:详解函数指针变量,函数指针数组及转移表
50 2
|
4月前
|
C语言
【C语言】:详解指针数组,数组指针及(二维)数组传参(2)
【C语言】:详解指针数组,数组指针及(二维)数组传参(2)
31 1
|
4月前
|
Serverless C语言
【C语言】:对(一维)数组与指针的深入理解(1)
【C语言】:对(一维)数组与指针的深入理解(1)
30 1