定義指標:
int * p;
int i;
p=&i; //p是指向i位址的指標
*p=10; //指的是i的值變成了10
指標在使用前一定要賦值 確定指標指向**
*為指標變數賦的值必須是乙個位址
將指標變數初始化為空指標,意為該變數不指向任何值 int ptr=null;
將變數位址賦值給指標
int a; int *p=&a; 或者 int a,*p; p=&a;
同型別的指標變數之間互相賦值
int a ,*pa=&a, *pb; pb=pa;
陣列名就是指標
只是不能修改這個指標的指向
–可以吧陣列的首位址賦給指標變數
short a[5],*p;
p=a;(或p=&a[0];)
此時 a[i]就是*(a+i),*(p+i),p[i] //說白了a就是p
a+i,p+i,&a[i],&p[i]
下列是否能表示陣列元素的位址
a++:不能,陣列名是位址常量,可以用:p++,p–,a+1
&p:不能,因為p已經是位址,&p表示a[i]的位址的位址
&p[i]:可以
malloc函式:
void * malloc(unsigned int size)
向系統申請大小為size的記憶體塊,把首位址返回,申請不成功返回null
free函式:
void * free(void * p);
釋放由malloc()申請的記憶體塊,p是指向此塊記憶體的指標
對C語言中指標的入門理解
當指標p的值為物件x的位址時,我們一般會說 p指向x 接著進行 xiaohong xiaoli 的複製,我們就可以得出 小紅喜歡小李 xiaolin xiaohong的資料型別是 指向int型變數的指標型 xiaolin xiaozhang xiaohong xiaowang 從以上賦值語句也可以發...
C語言中指標大全
1.使用二維字串儲存字串的時候會出現儲存浪費的情況,使用指標陣列儲存則不會 char s for i 0 ifor i 0 i 3 i 2.指標陣列作為函式引數傳遞多個字串給另乙個函式。指標陣列是乙個陣列,只是裡面存放了指標 void str sort char s,int n n代表指標陣列的長度...
c語言中指標和多維陣列的理解
1.複習指標和陣列之間的特殊關係 不帶方括號的陣列名是乙個指標,指向該陣列的第乙個元素。2.多維陣列 int multi 2 4 宣告乙個二維陣列作為舉例 a.理解方式1 可以將陣列看成行和列構成,即理解成2行4列。傳統的理解方法 理解方式2 可以將multi陣列看作乙個包含2個元素,而其中每個元素...