我是靠谱客的博主 冷酷金鱼,最近开发中收集的这篇文章主要介绍09 C++从入门到精通,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

09 C++从入门到精通—指针初步

1.地址与指针

指针是一个既简单又复杂的东西,用得好会让程序更灵活,用不好程序会一团糟。

地址:地址就是内存区中对每个字节的编号
指针:指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。

2.变量与指针

前面讲过指针是一个存放地址的变量
指针变量和其他变量一样都有类型名,同种类型的指针只能指向同种类型变量的地址
指针的一般形式如下

//类型说明 * 变量名
int *p;
char *c; 
int* a,b,c; //同时定义指针变量a,b,c
// "*"表示该变量是一个指针变量,类型说明本指针变量所指向的变量的数据类型

既然是变量,那就可以赋值
C++提供了地址运算符"&“来表示变量的地址,就好像scanf(”%d",&i);一样
指针变量赋值有两种方法

  • 1.定义指针变量的同时进行赋值
#include<iostream>
using namespace std;
int main(){
	int a=100;
	int *p=&a;
	cout<<p<<endl; //输出指针地址
	cout<<*p<<endl; // 输出指针所指向的变量的值
	return 0;
}

  • 2.先定义指针之后再赋值
#include<iostream>
using namespace std;
int main(){
	int *p;
	int a=100;
	p=&a;
	cout<<p<<endl; //输出地址
	cout<<*p<<endl;
	return 0;
}

3.指针的自加自减

你以为指针的自加自减和一般变量的自加自减一样,简单的变量加1或减1
那你就错了,指针加1就是指向下一个存放同种类型的地址,指针减1就是指向上一个地址,加2和减2就是指向下两个或上两个地址

#include<iostream>
using namespace std;
int main(){
	int a=100;
	int *p=&a;
	cout<<p<<endl;
	cout<<"-------华丽的分割线-------"<<endl;
	p++; //指向下一个地址,int类型是4字节,地址值应该加4
	cout<<p<<endl;
	return 0;
}

最后

以上就是冷酷金鱼为你收集整理的09 C++从入门到精通的全部内容,希望文章能够帮你解决09 C++从入门到精通所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部