指標陣列的實質是乙個陣列,這個陣列中儲存的內容全部是指標變數;
數值指標的實質是乙個指標,這個指標指向乙個陣列;
第一步:找核心,首先要搞清楚定義的符號時誰;
第二步:找結合,看誰跟核心最近,誰跟核心結合;
第三步,繼續向外找結合,直到符號完;
int *p[5]: p是乙個陣列,陣列中的5個元素都是指標,指標指向int型,所以 *p[5] 是乙個指標陣列;
int (*p)[5]: p是乙個指標,指向乙個陣列,陣列有5個元素都是int型別,所以 (*p)[5]是乙個陣列指標;
int *(p[5]): 是乙個指標陣列,結合方式同第乙個一樣;
本程式要完成乙個計算器,我們設計了2個層次:上層是framework.c,實現應用程式框架;下層是cal.c,實現計算器。實際工作時cal.c是直接完成工作的,但是cal.c中的關鍵部分是呼叫的framework.c中的函式來完成的。
先寫framework.c,由乙個人來完成。這個人在framework.c中需要完成計算器的業務邏輯,並且把相應的介面寫在對應的標頭檔案中發出來,將來別的層次的人用這個標頭檔案來協同工作。
另乙個人來完成cal.c,實現具體的計算器;這個人需要framework層的工作人員提供標頭檔案來工作(但是不需要framework.c)
#ifndef __cal_h總結:二重指標和一重指標的區別:#define __cal_htypedef
int (*pfunc)(int, int
);//
結構體用來做計算器
struct
cal_t;//
函式宣告放在最後面靠近endif的地方
int calculator(const
struct cal_t *p);
#endif
int calculator(const
struct cal_t *p)
#include
#include
"cal.h
"#include
"framwork.h
"int main(void
)
二重指標的本質:
二重指標的用法:
二重指標和陣列指標:
二維陣列的記憶體印象:
二維陣列的下表式訪問和指標訪問:
二維陣列的應用和更多維陣列
指標指向二維陣列的陣列名
指標指向二維陣列的第一維
指標指向二維陣列的第二維
複雜表示式
使用for迴圈的迭代不僅可以迭代普通的list,還可以迭代dict。假設有如下的dict d 完全可以通過乙個複雜的列表生成式把它變成乙個 html tds s s name,score forname,score ind.iteritems print print name score print...
python 複雜表示式
使用for迴圈的迭代不僅可以迭代普通的list,還可以迭代dict。假設有如下的dict d 完全可以通過乙個複雜的列表生成式把它變成乙個 html tds s s name,score for name,score in d.iteritems print print name score pri...
Python 複雜表示式
使用for迴圈的迭代不僅可以迭代普通的list,還可以迭代dict。假設有如下的dict d 完全可以通過乙個複雜的列表生成式把它變成乙個 html tds s s name,score for name,score in d.iteritems print print name score pri...