VS2017学习C++基础九(指针)

初始指针及使用示例

// chapter09a01指针.cpp : 
//指针(pointer)是一个值为内存地址的变量(或数据类型)
//数据类型 *指针变量名;  (int *ptrYear; ptrYear = &year) 
//为指针赋值,赋值运算符右侧必须是一个地址
//1.如果是普通变量需要在前面加一个取地址运算符 & ;
//2.如果是另一个指针变量或者是一个数组,不需要加 & 运算符
//运算符 * 用于返回指针指向的内存地址中存储的值
//使用指针访问一维数组和二维数组的元素

#include "pch.h"
#include <iostream>
#include <string>
using namespace std;

int main()
{    
	double num = 1024.5;
	double* ptr_num = &num;  //申明一个指针,指向num变量
	cout << "ptr_num的值:"<< ptr_num << endl;
	cout << "ptr_num指向空间的值是:" << *ptr_num << endl;
	*ptr_num = 1111;  //对num进行修改
	cout << num << endl;

	char ch = 'a';
	char* ptr_ch = &ch;
	cout << (void *)ptr_ch << endl;  // void *   任意类型
	cout << *ptr_ch << endl;
}

在这里插入图片描述

空指针和 void 指针*

// chapter09a02常见指针类型.cpp :
//1.空指针:不指向任何对象,在试图使用一个指针之前可以先检查是否为空
//用法  int* ptr1 = nullptr;
//2. void*指针 :一种特殊的指针类型,可以存放任意对象的地址
//一般用来跟别的指针进行比较,作为函数的输入和输出:赋值给另一个 void* 指针

#include "pch.h"
#include <iostream>
using namespace std;

int main()
{
	double * ptr_double = nullptr; //初始化指针
	cout << ptr_double <<endl;  //00000000

	double objNum = 3.14;
	double* ptr_obj1 = &objNum;
	void* ptr_obj2 = &objNum;
	cout << ptr_obj1 <<endl;
	cout << ptr_obj2 << endl;
	cout << boolalpha;
	cout << (ptr_obj1 == ptr_obj2) << endl;

	*ptr_obj1 = 210;
	cout << objNum << endl;
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值