我們知道,c語言中的類型有int,char,bool(這個不常用),壹般我們使用int,char就可以滿足壹般的類型需求的,如果對於變量的長度過大,就是用long ,float,double,關於各個類型使用的的長度問題,可以使用sizeof(int)或者sizeof(long)來查看各個類型,在系統中的小。
而指針就是壹個8個字節(64系統)。
2:指針指向的是地址,地址指向的是內容:
我們需要壹個變量,來存儲地址,這個變量的值是地址,但是我們可以通過修改變量的值,來不斷的改變地址,但是,我們如果需要改變該個地址的值的話,就需要,對地址的值進行修改,而不改變地址。
int a = 10;
int *p ;
p = &a;
*p =11;
a=?
這裏我們看到,p 是壹個變量,我們使用p來存儲變量a的地址,這是,我們使用*p對於這個變量進行賦值,那麽a的值最後,是多少呢,結果是11,因為我們使用*p賦值,就相當於a=11,賦值效果壹樣的。
3:指針的指針,是面對於指針的變量:
我們說,指針的指針的時候,就有點不清楚了,到底怎麽區分指針和指針的指針呢。
char *p;
char **pr;
pr = &p;
我們這樣看就清楚了壹點,char *(*pr); *pr是壹個存儲的值為指針的變量,pr就是存儲上個變量地址的變量。整合起來就是,pr是壹個存儲的值為指針的地址的變量。
這樣,我們就基本,對於指針有壹個直接的了解了。