C# 这个语法int*是什么意思?
我发现在某些地方,变量声明像private int*myint; 我不太清楚这个语法中的*字符到底做了什么,C# 这个语法int*是什么意思?,c#,declaration,value-type,C#,Declaration,Value Type,我发现在某些地方,变量声明像private int*myint; 我不太清楚这个语法中的*字符到底做了什么, 有人能解释一下为什么在变量声明中这个*字符与数据类型一起使用吗 它声明一个指向整数的指针 有关更深入的解释,请参见示例。int是一种值类型。int*是一个。完全不同的概念 如果您没有使用不安全的代码,则不需要使用指针类型。它会创建指针变量。表示变量指向内存中的位置 int*声明指向int类型的指针。C支持不安全上下文中的指针。我们可以用两种不同的方式使用不安全关键字。它可以用作方法、属性
有人能解释一下为什么在变量声明中这个*字符与数据类型一起使用吗 它声明一个指向整数的指针 有关更深入的解释,请参见示例。int是一种值类型。int*是一个。完全不同的概念
如果您没有使用不安全的代码,则不需要使用指针类型。它会创建指针变量。表示变量指向内存中的位置 int*声明指向int类型的指针。C支持不安全上下文中的指针。我们可以用两种不同的方式使用不安全关键字。它可以用作方法、属性和构造函数等的修饰符。例如:
using System;
class MyClass
{
public unsafe void Method()
{
int x = 10;
int y = 20;
int *ptr1 = &x;
int *ptr2 = &y;
Console.WriteLine((int)ptr1);
Console.WriteLine((int)ptr2);
Console.WriteLine(*ptr1);
Console.WriteLine(*ptr2);
}
}
class MyClient
{
public static void Main()
{
MyClass mc = new MyClass();
mc.Method();
}
}
关键字unsafe还可用于将一组语句标记为不安全,如下所示:
using System;
class MyClass
{
public void Method()
{
unsafe
{
int x = 10;
int y = 20;
int *ptr1 = &x;
int *ptr2 = &y;
Console.WriteLine((int)ptr1);
Console.WriteLine((int)ptr2);
Console.WriteLine(*ptr1);
Console.WriteLine(*ptr2);
}
}
}
class MyClient
{
public static void Main()
{
MyClass mc = new MyClass();
mc.Method();
}
}
引用:它表示指向变量的指针。下面是一个通过指针获取和更新变量的示例
public class Program
{
public static unsafe void Main(string[] args)
{
int foo = 10;
int* fooPointer = &foo; //get the pointer to foo
Console.WriteLine(foo); //here we can see foo is 10
*fooPointer = 11; //update foo through the pointer
Console.WriteLine(foo); //now foo is 11
}
}
感谢你提供的代码示例,我会将你的答案标记为答案,并会给你一个提示。我很高兴这对你有所帮助。谢谢: