個人c語言中指標的理解

2021-09-22 02:19:56 字數 944 閱讀 6795

定義指標:

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個元素,而其中每個元素...