個人覺得,在C語言中,就目前我自己的學習程度來說最重要的就是指針。我們通常都會聽說Linux中一切皆文件,而C語言中一切皆地址。
指針可以理解為指針變量,指針變量也是變量,正常的變量存的是值,而指針變量里存的是地址。
int* p;
定義了一個指向整型的指針,就是這個指針指向的數據類型是整型。
int* p = &a;
將變量a
的地址賦值給指針p
,也就是p
里面存的是變量a
的地址。
&
是取地址符
#include <stdio.h>
int main() {
int a = 1;
int* p = &a;//將變量a的地址賦值給指針p
printf("%d\n", *p);
return 0;
}
*
是取地址中的值,最終輸出的結果為1。
如果還沒理解,舉一個非常簡單的例子:
每個變量都像一個盒子一樣,里面可以裝上東西,不同類型的變量對應著可以裝不同類型的東西的盒子,變量還有一個屬性叫做地址,這是一種貼在盒子上的數字標簽。