c++之路起航——指针

c++一阶指针

定义

存储类型名 数据类型 * 指针变量名;

Eg:int *a;//定义了一个指向整型的指针 a;

指针使用方法

int a,*b;

b=&a;//表明将a的地址赋值给b;

*b=5; //将b指针所指向的地址赋值给5;即等同于a=5;

指针使用前必须赋一个合法的值

int *a,b;

*a=5;//这种表达方式是错误的,因为没有对a进行初始化,而就进行赋值。

void *a//万能指针,可以接受任何类型的指针,

int *a;

void *b;

char *c;

b=a;//正确,因为void指针可以接受任何类型的指针

a=b;//错误,因为void指针不能直接赋值给其他类型指针 正确写法应为a=(int *)b;将b强制类型转换为整形指针,在复制;

c=(char *)b;//正确;

二阶指针//二阶指针,顾名思义,既为指向指针的指针;

定义:存储类型 数据类型 ** 指针变量名

Eg  int **p;//二阶指针

#include<iostream>

Using namespace std;

int main(){

int i,*q,**p;

i=123,q=&i,p=&q;//简单解释一下二阶指针,

cout<<**p;

return 0;

}

指针函数传值

void swap(int *x,int *y){}

int main()

{int a,b,*p=&a,*q=&b;

swap(p,q);

swap(&a,&b);

指针数组与数组指针

指针数组

int *p[10];//定义了一个指针类型的数组,数组中每一个元素都为一个指针类型;

数组指针

int(*p)[10];// 定义了一个指向数组的指针;

#include<iostream>

#include<cstdio>

using namespace std;

int main()

{

int a[2][5]={1,2,3,4,5,6,7,8,9,0};

int (*p)[5]=a;

cout<<"*p[1]="<<*p[1]<<endl;

cout<<"*(p[1]+1)="<<*(p[1]+1)<<endl;

char *q[5]={"a","b","c","d","e"};//指针数组这样初始化dev会有警告,但vc不会有任何警告;不建议读者用这种初始化。

cout<<"q[1]="<<q[1]<<endl;//因为q[10]为指针类型数组,所以q中存储的为地址。

return 0;

}

指针函数与函数指针

     指针函数//返回值为指针的函数;

定义:类型名 * 函数名(参数列表);

Eg:int * max(int *x,int *y);

returen *x>*y?x:y;

函数指针//算法竞赛中基本不用,只顺便提一下,既为指向函数的指针;

定义:函数类型 (*指针名) (函数形参表);

Eg

int max(int x,int y){return x>y?x:y;}

int min(int x,int y){return x<y?x:y;}

int main()

{ int a=1,b=2;

int (*p)(int,int);

p=max; cout<<p(a,b);//也可以写成(*p)(a,b),其中*运算没有意义

p=min; cout<<p(a,b);

return 0;

}

指针与数组

c++中数组名既为一个地址;故可以赋值给指针变量;

Eg

int a[10];*p;

p=a;//正确;

二维数组—特殊的二阶指针;

int b[10][10];

将二维数组理解为矩阵;

b为二阶指针;

b所指位置为行,称为行指针;

对b进行一次*运算,便转换为列指针,从而确定每一个元素所在位置。

int a[10][10],**b;

b=a;//这种方式是错误的。

时间: 2024-10-09 07:40:55

c++之路起航——指针的相关文章

oc学习之路----多级指针的使用和内存分析

---恢复内容开始--- 精髓:要熟悉指针的使用,首先要熟悉指针的各种状态存得是什么数据.(以一级指针 int *p1 二级指针:int **p2 三级指针:int ***p3为例) 一级指针:*p1 取得是目标存储空间的值  p2取得的是目标存储空间的存储地址,&p1取得是当前存储空间的存储地址, 二级指针使用: #include <stdio.h> void change3(int **p2){ int ***d3 = d2; ***d3 = 60 } void change2(i

C++之路起航——标准模板库(vector)

vector(动态数组或向量):动态分配内存空间的线性储存结构. 需要包括头文件<vector> 定义: vector<数据类型> 变量名: Eg: vector<int> s; //定义了一个数据类型为整形的动态数组; 基本操作(红色标识为常用操作): s[i]直接以下标方式访问容器中的元素.       s.front()  返回首元素. s.back()  返回尾元素.   s.push_back(x)向表尾插入元素x. s.size()  返回表长.  s.em

1. MagicCode框架之路——起航

前言 从事开发也好几年了,并且最近一直在做架构搭建的工作.这些时间,最大的感悟就是: 只有自己理解了的才是自己的. 对架构这块,若欲立之,必先破之. 故此,才准备利用业余时间来倾力打造这套框架.由于时间精力以及能力有限,也许这套框架初期会有很多不合理之处,但是我相信只要有恒心,这套框架迟早会打磨完美.由于本人秉承做一行爱一行的原则,对代码也比较痴迷,故此命名为"MagicCode框架",希望它的将来会不辱此名. 在接下来的时间里,我将长期维护此框架并且发帖发表心得. MagicCode

C++之路起航——标准模板库(set)

set(集合):http://baike.baidu.com/link?url=cb68AB-3qfEK8RoaGHJFClb4ZiWpJfc32lPOLtaNUrdxntFC738zCZsCiUlfAVRLds2aeNkgYCYCe_wdVB2TIa 需要包括头文件<set>; 定义: set<数据类型> 变量名; Eg: set<int> s;//定义了一个整型的集合s; 基本操作(红色标识为常用操作): s.begin() 返回指向第一个元素的迭代器 s.clea

C++之路起航——AC自动机(Keywords Search)

/*Keywords Search Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 47794 Accepted Submission(s): 15228 Problem DescriptionIn the modern time, Search engine came into the life of everybody like Goo

C++之路起航——标准模板库(queue)

queue: FIFO队列:先进先出队列. 优先队列:对队列中的元素按优先级的大小输出. 定义: FIFO队列: queue<数据类性>变量名. 优先队列:priority_queue<数据类型>变量名. Eg: FIFO队列: queue<int>que//定义了一个名为que的整型的先进先出队列. 优先队列:priority_queue<int>que//定义了一个名为que的整型的优先队列. //当类型为自定义结构时,需要重载运算符. Eg: stru

Magicodes框架之路——起航

前言 从事开发也好几年了,并且最近一直在做架构搭建的工作.这些时间,最大的感悟就是: 只有自己理解了的才是自己的. 对架构这块,若欲立之,必先破之. 故此,才准备利用业余时间来倾力打造这套框架.由于时间精力以及能力有限,也许这套框架初期会有很多不合理之处,但是我相信只要有恒心,这套框架迟早会打磨完美.由于本人秉承做一行爱一行的原则,对代码也比较痴迷,故此命名为"Magicodes框架". Magicodes ——意为"Magic Codes".代码就如同魔术,每一个

俩个月的IOS研究-记

这是自己的第一遍博客,注册博客园已经好几个月了,因为今天回复一个帖子加图片要先开通博客,所以就顺手过来记载些东西.刚毕业的时候做嵌入式的,做的都是C的东西,大概有一年半.年初离职后,在新公司写上脚本了,8月底项目结束后,老板想在公司增加IOS技术,所以让暂时处于空闲的我研究IOS了.从9月1号拿到黑苹果开始,我的IOS研究之路起航了.快2个月了,完全自己一个人在搞,没一个人帮忙,整个公司就我自己做这个方向,有时候好无助,遇到问题只能自己苦思冥想,或者上园子里溜溜寻求帮助.第一个月基于一个云通讯平

克最通月值得白真员工存段况外引dsym

家卫生健康委员会卫生应急办公室组织编制了公民卫生应急素养条目,并在"4·15全民国家安全教育日"发布.条目共12条,涉及突发公共卫生事件应对,突发事件紧急医学救援.中毒及核和辐射应急处置等基本知识和要求.期望通过发布公民卫生应急素养条目,进一步提高民众卫生应急素养,推进卫生应急社会参与工作,切实维护公民生命安全和身体健康. http://weibo.com/p2018_04_18.Pp/230927981149922743777879派褐麓记杂XWO琶追斡晾 http://weibo.