一維數(shù)組:
1.二維數(shù)組
行下標
指針
######1指針類型是一種特殊類型
DataType *name;
DataType* name;
DataType * name
DataType :數(shù)據(jù)類型
指針只能保存相同類型的地址
*:
name:變量名
指針和普通變量的區(qū)別:
指針 存地址
普通變量 存值
int *p: 只能保存int型地址
char *pc: 只能保存char型地址
double *pd: 只能保存double型地址
2初始化
int *p = NULL //ok
int a=3;
int *p = &a;
int *pb;
pb = &a;
int *pc;
*pc = &a; //error
3地址的訪問
*:間接訪問運算符
int *pb;
pb=&a; //ok
變量名 變量地址 存儲
a 0x000012 10
pb 0x000034 0x000012
*pb:取指針對應內(nèi)存里面的值
4可以把指針變量賦值給同類型指針
5不同類型的指針的大小
64位機 8
32位機 4
6指針的類型和指針所指向的類型
int *pa;
int* pa;
double *pd;
指針的類型:
去掉變量名之后的部分
指針所指向的類型:
去掉指針變量名和其前面的*
7指針與數(shù)組
數(shù)組名表示一個地址仿村,
數(shù)組元素的訪問
int arr[5] = {12,3,4,5};
int *pa = arr;
arr[0]; arr[3];
*(arr); *(arr+3);
*(pa); *(pa+3);
pa[0]; pa[3];
8野指針
沒有初始化格郁,或者其指向的內(nèi)存被釋放键袱,而指針沒有被置空谒获;
危害:搞地質(zhì)
造成系統(tǒng)資源的浪費桃纯,容易造成未知的致命錯誤睦裳。
9指針地址的運算
自增:指針向高地址方向移動
自減:指針向低地址方向移動
移動的字節(jié)數(shù)是指針所指向的類型的大小
指針相減,表示兩個指針之間的距離
指針相加沒意義
指針加減一個常量仙畦,表示地址往高字節(jié)或低字節(jié)方向移動
常量值*sizeof(對應數(shù)據(jù)類型)個字節(jié)
(10)概念區(qū)分三個
int buf[3]
//數(shù)組输涕,大小為3,存放三個int型變量
int *pb
//指針 其類型為int型指針
int *arr[3]
//指針數(shù)組
int (*pa)[3];
//指針數(shù)組
int (*pa)[3];
//數(shù)組指針慨畸,又稱行指針
int (*)[] pa;
二級指針
DataType **PointorName;
int a = 10;
int *q = &a;
int **p = &q;
*
//定義一個指針莱坎,或?qū)Φ刂愤M行操作,一定要確定指針的指向4缡俊檐什!
最后編輯于 :2017.12.05 02:01:21
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者