C#指针

作者: _凉笙 | 来源:发表于2022-09-20 19:52 被阅读0次
指针基础

指针可以完成对内存地址的操作
指针就是用来存储某个变量的内存地址

int a=100
int b=200
int* pa//表示声明一个指针,指针指向int类型
pa=&a//&a表示取得a变量的内存地址

这时候输出pa就是输出a的内存地址

*pa//表示取得后面(指针)内存地址所指向的数据
*pa=300

这时候输出a就是等于300

void*  p1;//这个指针是指向空类型的指针,可以指向任意类型的地址
void* pl=&a;

但是输出 * pl 所指向的数据的时候需要强制转换成所需类型的指针才能输出

*((int*)pl)//代表强制转换成int类型的指针并输出所指向的数据
指针类型与引用类型
//指针*  引用符& reference 指针与引用使用上都是差不多的
int a=100;
int b=200;

int* p1=&a;//这时候输出p1是a的内存地址
int& r1=a;// 输出r1引用是a变量的数据也就是100.
r1=b;//相当于a=b,这时候输出r1,a都等于200
b=400;//这时候给b重新赋值400,不会更改a变量的值,a还是200.
void change(int a,int b)
{
a=100;
b=200
}
main()
{
a=0,b=0;
change(a,b);
//这时候输出a为0,b为0。因为他们是值类型
}

但是当a和b使用引用符的时候就不一样了
void change(int& a,int& b)
{
a=100;
b=200
}
main()
{
a=0,b=0;
change(a,b);
这时候输出a为1000,b为2000

相关文章

  • c#指针

     刚开始我以为c#没有指针,后来才发现c#是可以使用指针的,但前提是使用了unsafe声明。不过更多的情况下还是用...

  • C#指针

    指针基础 指针可以完成对内存地址的操作指针就是用来存储某个变量的内存地址 这时候输出pa就是输出a的内存地址 这时...

  • 面经——指针和引用的区别

    为什么使用指针 每一个编程语言都使用指针C++将指针暴露给程序员,而Java和c#将指针隐藏起来。 使用指针的优点...

  • C++ 、java 和 C# 的区别

    一、基础类型 c++: ** java:** C#: 二、指针 1.java 是没有指针这个概念,c++ 和 c#...

  • python代码之间的“通信”

    C、C++中有指针C#中有委托python中,怎么弄

  • C# 委托

    C#委托 C#中的委托(Delegate)类似于C或C++中函数的指针。委托(Delegate)是存有对某个方法的...

  • C#魔灵-lesson_03-数据类型

    C#中的数据类型分为以下几种 值类型(Value types) 引用类型(Reference types) 指针类...

  • C#里面的指针

    先贴代码 实现的是一个复制的功能 注意出现的错误警告 如果你在编译过程中出现了错误CS0227不安全代码只会在使用...

  • C#日记——委托

    很多人说C#和JAVA很像,但也有很多地方不同,委托就是一个C#特有的东西委托可以理解为C语言里的函数指针,只要参...

  • C#中的引用

    今天面试的时候被问到C#中的引用,因为在这之前讨论的是C++的指针和引用,所以当时下意识的以为面试官想考察C#中修...

网友评论

      本文标题:C#指针

      本文链接:https://www.haomeiwen.com/subject/bmqgehtx.html