什么是指针

什么是指针,第1张

什么是指针

指针是一种间接类型,在电脑中什么意思呢,在开辟的一块指针类型当中,存放的是另一块内存的地址,有了地址以后,就可以通过这种指向的方式来访问并且修改。

其实指针就和目录一样,在书中目录也是要占据地方的,只不过占据的比较少。而且根据目录可以正确的找到,指向的具体位置。

#include 
using namespace std;

int main()
{
    int x=3;
	char s='a';
	int* p=&x;
	char *q=&s;
	cout < 

如上面的代码所显示,指针的特点

1、指针也是有类型的,比如int*、char*

2、不同类型的指针可以指向不同类型的对象。

3、不同类型的指针具有的尺寸却是相同的,这点,把上面的程序运行起来发现,在64位机的机器上运行得到的结果都是8。

	int* p=&x;//&这个就叫取地址运算符,把x的地址取出来给p,让p指向它。
 cout<<*p< 
#include 
using namespace std;

int main()
{
    int x=3;
	int y=4;
	int* p=&x;
	*p=5;
	cout<<*p< 

*p=5;指的是改变指针指向对象的内容。

根据目录找到那一页,把那一页的内容给改了。

#include 
using namespace std;

int main()
{
    int x=3;
	int y=4;
	int* p=&x;
	p=&y;
	cout<<*p< 

改变指针的指向。

改变目录记载的名称对应的页数。

对于指针的定义,一定要有初始的值,否则会指向奇怪的地方,一旦那个地方的数据是很重要的但却被修改的,是很危险的。

int *p=&val;
int *p=nullptr;

定义的方式无非也就是这两种。指向一个明确的地址,或者指向一块空指针(只要不随意指向就是安全的)。

指针主要的 *** 作就是解引用;增加(指针增加p=p+1;。这里的增加,指的是内存里面的地址指向了下一个位置,并不是内存增加了一个字节,而是根据指针类型增加,若是int类型的指针,在64位机上就是增加了4个字节,这里的增加在数组中会非常有用)、减少;判断等。

在某些情况下可能会想声明一个指针,但是有不确定它的类型那么可以使用

void *p=nullptr;

说了那么多那么指针到底有什么好处呢,最重要的一点就是在传输的过程中大大减少了传输的数据量,只需要传一个地址就好,你说方不方便。就跟目录一样那么一本书的内容,只需要那几页目录就了解了,对机器的负担小多了。

对于指针需要注意的问题,就是指针的指向,一定要规定,要是不明确可以直接指向nullptr,但是不能不给地址,否则指向奇怪的地方是很危险的。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5691496.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存