Java 和 C 都是非常流行的编程语言,它们各自有自己的特点。在这两个语言中,引用和指针就是一个非常重要的概念。
Java 中引用是指一个对象在堆上的内存地址,它使用关键字new
来创建对象。一个引用变量在声明时必须要指定其所属的类型,例如:
String str = new String("hello");
这里声明了一个字符串类型的引用变量 str,它指向一个新创建的字符串对象。在 Java 中,引用变量可以被复制,它们可以作为参数传递给方法,也可以从方法中返回。
C 语言中,指针是指一个变量存储的地址。用一个指针变量可以指向另一个变量的内存地址,进而操作该变量的值。在 C 中,指针变量的声明必须带有一个 * 号。例如:
int *p;
int a = 10;
p = &a; // & 表示取地址运算符,将变量 a 的地址赋给 p
这里声明了一个指向整型变量的指针变量 p,它指向变量 a 的内存地址。通过指针 p 可以访问变量 a 的值,例如:
*p = 20; // 将指针 p 指向的内存中的值修改为 20
在 C 中,指针可以进行算术运算,可以当做数组使用,还可以作为函数的参数和返回值。