在Java語(yǔ)言中,除了基本數(shù)據(jù)類(lèi)型,還有引用類(lèi)型。引用類(lèi)型指的是一個(gè)對(duì)象的引用,而不是對(duì)象本身。在Java中,引用變量并不直接存儲(chǔ)對(duì)象,而是存儲(chǔ)對(duì)象的內(nèi)存地址。通過(guò)引用變量可以訪問(wèn)到對(duì)象,對(duì)引用變量進(jìn)行操作就相當(dāng)于對(duì)對(duì)象進(jìn)行操作。
C語(yǔ)言中也有引用的概念,但與Java的引用類(lèi)型不同。在C語(yǔ)言中,引用是一個(gè)指向變量的指針。變量是內(nèi)存中的一塊區(qū)域,而指針則是存儲(chǔ)內(nèi)存地址的變量。通過(guò)指針可以訪問(wèn)到對(duì)應(yīng)內(nèi)存地址上的內(nèi)容,因此對(duì)指針進(jìn)行操作就相當(dāng)于對(duì)內(nèi)存地址上的變量進(jìn)行操作。
//Java中引用類(lèi)型的示例 public class Person { String name; int age; } public class Main { public static void main(String[] args) { Person p1 = new Person(); //p1是Person對(duì)象的引用 p1.name = "張三"; p1.age = 18; System.out.println("姓名:" + p1.name + ",年齡:" + p1.age); } }
//C語(yǔ)言中引用的示例 #includevoid swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } int main() { int x = 2, y = 3; printf("交換前,x=%d,y=%d\n", x, y); swap(&x, &y); //將x、y的地址傳遞給指針變量a、b printf("交換后,x=%d,y=%d\n", x, y); return 0; }