C语言指针

本文详细介绍了指针在C++中的定义、内存地址获取、运算符使用、初始化、直接间接访问以及作为函数参数的应用,包括基本类型量、引用和指针的传递方式。
摘要由CSDN通过智能技术生成

指针

1.定义

内存中的一个字节(Byte)为一个存储单元。

存储单元的编号称为地址。

变量的地址是指该变量所在存储区域的第一个字节(单元)的地址。

这三个地址就称为变量a、b、c的指针

指针变量用于存放地址值。

指针变量的定义格式:类型说明符 *指针变量名;

例:int *pi ; 定义 pi 为指向 int 类型变量的指针变量

注:C++语言规定有效数据的指针不指向0单元(为非0值),如果指针变量值为0,即NULL(在ios.h中已定义),表示空指针,即不指向任何变量。

2.运算符

& 取址运算符

功能:返回变量的内存地址(升一级)

* 取值运算符

功能:访问指针指向的变量(降一级)

例:

int *p,m;
m = 200;
p = &m;
//则p等价于&m,*p等价于m

3.指针变量的初始化

初始化格式:类型说明符 *指针变量名=初始地址值 ;

例:

char c, *p1 ;
p1=&c ;  /* 赋值语句,定义后进行 */

例:

char c ;
char *pc=&c ; /* 指针初始化,定义时进行 */

注:

(1)指针变量p必须初始化或赋值获得值后才能使用*p访问。

int x,*p ;
x=0 ;
*p=x ;
//是错误的

(2)若有 int m ; int *p = &m ;等价于:int m ; int *p ; p = &m ;

4.直接访问与间接访问

直接存取方式(直接访问):在程序中体现为直接使用变量名来存取变量值

间接存取方式(间接访问):在程序中体现为通过 p 来存取变量 m 的值。

m=5,n=m 直接存取 m,*p=5,n=*p 间接存取 m

5.指针做函数参数

(1)基本类型量做函数参数

#include <iostream>
using namespace std; 
void swap(int x,int y)
{ int t;
 t=x; x=y; y=t;
}
void main( )
{  int x=3, y=9;
 swap(x,y);
 cout<< x<< ','<< y<<endl; 
}

输出:3,9

(2)使用引用

#include <iostream>
using namespace std; 
void swap(int &x,int &y)
{ int t;
 t=x; x=y; y=t;
}
void main( )
{  int x=3, y=9;
 swap(x,y);
 cout<< x<< ','<< y<<endl; 
}

输出:9,3

(3)指针做函数参数

#include <iostream>
using namespace std; 
void swap(int *px,int *py)
{ int t;
 t=*px;*px=*py;*py=t;
 }
void main( )
{ int x=3,y=9,*p1,*p2;
 p1=&x; p2=&y;
 swap(p1,p2);
 cout<< x<< ','<< y<<endl; 
 }

等价于

#include <iostream>
using namespace std; 
void swap(int *px,int *py)
{ int t;
 t=*px;*px=*py;*py=t;
 }
void main( )
{ int x=3,y=9;
 swap(&x,&y);
 cout<< x<< ','<< y<<endl; 
 }

输出:9,3

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
GeoPandas是一个开源的Python库,旨在简化地理空间数据的处理和分析。它结合了Pandas和Shapely的能力,为Python用户提供了一个强大而灵活的工具来处理地理空间数据。以下是关于GeoPandas的详细介绍: 一、GeoPandas的基本概念 1. 定义 GeoPandas是建立在Pandas和Shapely之上的一个Python库,用于处理和分析地理空间数据。 它扩展了Pandas的DataFrame和Series数据结构,允许在其中存储和操作地理空间几何图形。 2. 核心数据结构 GeoDataFrame:GeoPandas的核心数据结构,是Pandas DataFrame的扩展。它包含一个或多个列,其中至少一列是几何列(geometry column),用于存储地理空间几何图形(如点、线、多边形等)。 GeoSeries:GeoPandas中的另一个重要数据结构,类似于Pandas的Series,但用于存储几何图形序列。 二、GeoPandas的功能特性 1. 读取和写入多种地理空间数据格式 GeoPandas支持读取和写入多种常见的地理空间数据格式,包括Shapefile、GeoJSON、PostGIS、KML等。这使得用户可以轻松地从各种数据源中加载地理空间数据,并将处理后的数据保存为所需的格式。 2. 地理空间几何图形的创建、编辑和分析 GeoPandas允许用户创建、编辑和分析地理空间几何图形,包括点、线、多边形等。它提供了丰富的空间操作函数,如缓冲区分析、交集、并集、差集等,使得用户可以方便地进行地理空间数据分析。 3. 数据可视化 GeoPandas内置了数据可视化功能,可以绘制地理空间数据的地图。用户可以使用matplotlib等库来进一步定制地图的样式和布局。 4. 空间连接和空间索引 GeoPandas支持空间连接操作,可以将两个GeoDataFrame按照空间关系(如相交、包含等)进行连接。此外,它还支持空间索引,可以提高地理空间数据查询的效率。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值