指標的講解使用 習題

2021-08-21 15:16:15 字數 1997 閱讀 2032

計算機基礎:

1、組成:cpu,儲存,i/o

2、cpu:執行指令。

3、程式:就是有限指令的集合(外存中)

程序:正在執行的程式(cpu會通過檔案系統去將外存中的程式載入到記憶體並分配空間)

儲存單元:

1最小的儲存單元:bit      (存放0/1)

2計算機的儲存基本單元:byte      (每次一次性取出的寬度)

3其他單位: kb=1024byte=2^10byte

1mb=1024kb=2^10kb=2^20byte=2^23bit

1gb=1024mb=2^10mb

注:8gb=1024*8mb=2^13mb=2^23kb=2^33byte     

7、通過指標修改空間的內容: *pb=100;

9、空指標: null

8、(***)指標的運算:  +  -   注:指標指向的元素位址 

int* pa;

pa+n==pa+sizeof(int)*n        ;指標是指向的元素的位址,p+n代表是向後移動4個元素

pa-n==pa-sizeof(int)*n        ;指標是指向的元素的位址,p+n代表是向前移動4個元素

9、陣列與指標:

9.1指標與陣列的關係:

定義陣列:型別 陣列名[長度]  

概念:連續且同型別的儲存空間

陣列名:就是此陣列空間的首位址

9.2指標變數與陣列的關係:

#includevoid main()

short指標指向int的變數

#includevoid main()

引用陣列元素,通過變數引用元素內容

#includevoid main()

;//引用陣列元素:下標法--陣列下標是從0開始的

// printf("%d %x %x %x\n",buf[0],&buf[0],&buf[1],buf);

//引用元素內容:下標法 指標法

// printf("%x %x %d\n",&buf[2],buf+2,*(buf+2));

//指標變數:

int* pa=buf;

//通過變數引用元素內容

printf("%x %x %d %d\n",buf,pa,*(buf+0),*pa);

//第三個元素:

printf("%d %d %d %d\n",buf[2],*(buf+2),*(pa+2),pa[2]);

}

習題:

將int a=67305985的每乙個位元組內容輸出列印。

#includevoid main()

習題:

通過pa來求陣列和int buf[10] = ; 倒著列印

#includevoid main()

;//通過pa位址倒著列印 通過pa來求陣列元素的和

int* pa = buf;

int i = 0,b = 0;

for(i=9;i>=0;i--)

printf("和:%d\n",b);

}

習題:

通過pa指標變數來實現二分查詢法   (int*left ,int* right)

#includevoid main()

else if(key==*mid)//成功

else//左側

right=mid-1;

}}

習題:

通過指標實現,插入排序.

#includevoid main();	

int i=0,j=0,temp;

for(i=1;i<9;i++)

*(a+j)=temp;

} }for(i=0;i<9;i++)

}

this的講解和其他習題

習題 1 var f 2function f 3function g 4 5typeof f number 括號操作符會返回逗號後面的東西 var x 1 if function f x 1undefined 函式變成表示式就會立即執行,執行之後再也找不到了 判斷乙個數字是不是數字 1 functi...

指標的指標習題筆記

譚浩強老師 c程式設計 第八章 例題20 用指向指標的指標給五個字串排序 include include define line 20 定義字串最大長度 void sort char p 冒泡法排序 int main 不能去掉,要讓指標陣列的資料存入二維陣列,注意型別的對應 printf pleas...

golang指標講解

基礎型別指標 var ps string var pi int var pf float64 var pb bool 結構體指標 type person struct var pperson person在把指標使用的得心應手之前,首先要熟悉go語言中這兩個操作符 與 先說說 變數名,表示對變數取位...