首页 > 编程语言 >C++指针入门

C++指针入门

时间:2022-09-29 21:48:26浏览次数:63  
标签:入门 temp int ip C++ 变量 指针

C++指针入门

目录

C++中变量位置

#include <iostream>
using namespace std;
 
int main ()
{
   int  var1;
   char var2[10];
 
   cout << "var1 变量的地址: ";
   cout << &var1 << endl;
 
   cout << "var2 变量的地址: ";
   cout << &var2 << endl;
 
   return 0;
}

输出:

var1 变量的地址: 0xbfebd5c0
var2 变量的地址: 0xbfebd5b6

得出第一条规律

&变量名可以返回变量的存储地址

C++中指针的声明

int    *ip;    /* 一个整型的指针 */
double *dp;    /* 一个 double 型的指针 */
float  *fp;    /* 一个浮点型的指针 */
char   *ch;    /* 一个字符型的指针 */
#include <iostream>
 
using namespace std;
 
int main ()
{
   int  var = 20;   // 实际变量的声明
   int  *ip;        // 指针变量的声明
 
   ip = &var;       // 在指针变量中存储 var 的地址
 
   cout << "Value of var variable: ";
   cout << var << endl;
 
   // 输出在指针变量中存储的地址
   cout << "Address stored in ip variable: ";
   cout << ip << endl;
 
   // 访问指针中地址的值
   cout << "Value of *ip variable: ";
   cout << *ip << endl;
 
   return 0;
}

输出:

Value of var variable: 20
Address stored in ip variable: 0xbfc601ac
Value of *ip variable: 20

利用指针实现swap()

//correct code
void swap(int *a,int *b)
{
    int temp;
    temp=*a;
    *a=*b;
    *b=temp;
}
//wrong code
void swap1(int a,int b)
{
    int temp;
    temp=a;
    a=b;
    b=temp;
}

void swap2(int *a,int *b)
{
    int *temp;
    temp=a;
    a=b;
    b=temp;
}

下面两段代码都有问题;

第一段代码直接调用的a和b,函数无法对值进行修改

改成inline void就可以了

第二段代码temp也是指针,交换了由副本指向的内容,但a,b内容不会变。

标签:入门,temp,int,ip,C++,变量,指针
From: https://www.cnblogs.com/sweepy/p/16743160.html

相关文章

  • 浅析 C++ 调用 Python 模块
    浅析C++调用Python模块作为一种胶水语言,Python能够很容易地调用C、C++等语言,也能够通过其他语言调用Python的模块。Python提供了C++库,使得开发者能很方便......
  • C++ CMake 使用 Python3
    C++CMake使用Python3CMakeListst设置#如果使用的是非系统目录下的Python可以通过指定Python3_ROOT_DIR改变查找路径#set(Python3_ROOT_DIR"${CMAKE_SOURCE_D......
  • ptyhon入门基础(数据内置方法)
    今日内容概要数据类型内置方法理论、整型相关的操作浮点型相关的操作字符串相关操作列表相关操作可变与不可变类型整型的内置方法与操作1.什么是类型的转换?类型......
  • C#交换方法指针
    被引用的dll是testDllFr.dll,其代码为:namespacetestDLLFr{publicclassTestA{publicstaticvoidTestAM(){Console.Write......
  • C++ 调用python方法
    主流方法将python程序编程文本形式的动态链接库,在c/c++程序中调用其中定义的函数。本质上是在c++中启动了一个python解释器,由解释器对python相关的代码进行执行,执行......
  • 不是吧,MATLAB代码居然能直接转成C/C++代码
    前一段时间在工作中遇到这样一个实际问题,项目主体部分是用C++写的,但其中有一小部分算法是用MATLAB写的。于是乎,我第一想法是如何用C++把MATLAB中的代码实现出来。这时,一位前......
  • MyBatisPlus入门
    1、MyBatisPlus简介MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率。官网:https://mybatis.plus/  https://mp.baomidou.com/1.1、......
  • 百度工程师带你探秘C++内存管理(理论篇)
    作者|daydreamer在互联网的服务中,C++常用于搭建高性能、高并发、大流量、低延时的后端服务。如何合理的分配内存满足系统高性能需求是一个高频且重要的话题,而且因为内存自......
  • Scrapy 入门笔记
    scrapy框架scrapyscrapy是什么?Scrapy是一个为了爬取网站数据,提取结构化数据而编写的应用框架。可以应用在包括数据挖掘、信息处理或存储历史数据等一系列的程序中。安......
  • DEV C++创建64位DLL,再用C#调用入门测试
    1. DEVC++创建64位DLL  DEVC++新建--项目--dll--选择C项目---确定  C文件中添加1#include"devdll.h"2#include<windows.h>3/*在程序中添加......