4 複雜表示式和指標高階應用

2022-03-09 05:07:53 字數 1524 閱讀 6379

指標陣列的實質是乙個陣列,這個陣列中儲存的內容全部是指標變數;

數值指標的實質是乙個指標,這個指標指向乙個陣列;

第一步:找核心,首先要搞清楚定義的符號時誰;

第二步:找結合,看誰跟核心最近,誰跟核心結合;

第三步,繼續向外找結合,直到符號完;

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...