指针(pointer)
指针变量是一种特殊的变量,此变量存储的内容不是普通值(int double char......)而是其它变量的地址(address)。
- 指针宣告:资料形态 *变量名 ----> int *ptr 、 char *ptr 、double *ptr ......。
- 取址算子: &变量名 ----> int score = 85 ; printf( "%d\n" , score ) ; printf( "%p\n" , &score) ; 结果:85 和 00022525FC(是score变量在记忆体中存放的地址)。
- 指针赋值:int score = 85 ; int *ptr ; ptr = & score; 即把变量score的地址赋值给了指针变量ptr。
- 取值算子:*指针变量名 ----> int score = 85 ; int *ptr ; ptr = & score ; printf( "%d" , *ptr ) ; printf( "%p" , ptr ) ; 结果:85 和 00022525FC 。通过*取得指针所指地址的值,可以说 *ptr 就是变量 score;
注意:宣告指针变量时 用的(*) 表示的仅仅是: 此变量为指针没有其它意思,*后的变量名才是指针的名。 在取值时 用的(*) 是取值算子,不要弄混。
- 数组指针: int tests[5] = {71,83,67,49