計算機基礎:
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語言中這兩個操作符 與 先說說 變數名,表示對變數取位...