指針


1.什么是指針:

指針是一個存儲計算機內存地址的變量,即指針變量里面存放的是內存地址。

 

2.操作符:*和&

操作符*根據出現的位置不同,既可以用來聲明一個指針變量,也可以用作指針的取值。當用在聲明一個變量時,*表示這里聲明了一個指針。其它情況用到*表示指針的取值。

&是地址操作符,用來引用一個內存地址。通過在變量名字前使用&操作符,我們可以得到該變量的內存地址。

 

3.指針的類型:

1)基本類型:int 、short、long、float 、double、char
如 int *p;//表示定義一個指針,這個指針指向整形變量,這個指針將存放的是整形變量的地址。

2)數組指針:指針指向一個數組
int (*a)[10];//表示指針指向一個int型的長度為10的數組。

3)函數指針:指針指向一個函數

void (*a)();//表示指針指向一個無參數無返回值的函數。

 

4.指針賦值:
賦值方式有兩種
1)定義時賦初值:int a; int *p=&a

2)先定義,后賦初值:int a; int *p; p=&a

 

5.指針和數組的關系:

指針和數組關系密切,數組可以通過指針去引用,數組可以存放指針,數組也可以由指針去訪問,指針也能存放數組的地址。

 

6.字符串與指針:

一個字符串常量不可以直接賦給一個數組,比如:char s[10]; s="hello";這種寫法是錯誤的。

但是一個字符串卻可以直接賦給一個指針:char *p; p="hello";這僅限於將一個字符串常量的地址賦給指針p,

但如果char s[10]; char *p=s; *p="hello";這就是非法的,這就相當於直接把字符串常量賦給一個數組,其實字符串常量賦給一個數組可以采用strcpy()函數。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM