C語言回顧 八 指標

2021-07-05 20:38:48 字數 2452 閱讀 4501

指標

#import //指標作為引數可以實現兩個數的交換(指標x和y操作是傳過來的實參a,b所對應的位址空間)

void changevalue1(int *x, int *y);

void changevalue1(int *x, int *y)

//列印陣列全部元素

void printfarray(int *arr,int count); //(int arr, int count)也可以

void printfarray(int *arr,int count) //陣列作為引數,退化成指標,所以列印arr所佔位元組的時候,int *arr 和 int arr的形式都是執著呢所佔的位元組數(8);

}int main(int argc, const char * argv)

; int *p = a;//把陣列a的首位址賦值給p

printf("%d\n",*p); //1

printf("%d\n",*(p+1)); //5

printf("%d\n",*(p)+1); //2

*(p + 2) = 6;

printf("%d\n",*(p + 2)); //6

//通過指標來運算元組的時候,指標變數p和陣列名是等價的,有四種方式 a[i] *(a+i) p[i] *(p+i)

printf("%d\n",a[0]); //1

printf("%d\n",*p); //1

printf("%d\n",*a); //1

printf("%d\n",p[0]); //1

printf("%lu\n",sizeof(a)); //20

printf("%lu\n",sizeof(p)); //8

char *q = null;

char *q1 = null;

printf("%lu\n",sizeof(q)); //8

printf("%lu\n",sizeof(q1)); //8

//32位系統指標佔4個位元組,64位系統佔8個位元組;

printf("%lu\n",sizeof(a) / sizeof(a[0])); //20 / 4 = 5;

printf("%lu\n",sizeof(p) / sizeof(p[0])); // 8 / 4 = 2; //%lu是無符號長整型

//short a[4] = ;

int *p = a;

char *p2 = a;

printf("%d\n",*p);

printf("%d\n",*p2);

//字串迴圈遍歷列印

char string[10] = "iphone";

char *p = string; //位址

for (int i = 0; i < strlen(string); i++)

//字串整體操作

printf("\n%s\n",string); //列印字串

printf("%s\n",p); //通過指標列印字串

printf("%s\n",p + 3); //從下標為3的位置開始到最後

//單個元素進行賦值

*(p + 1) = 's';

//字串整體進行賦值

strcpy(string , "sssss");

printf("%s\n",p);

//常量區(常量區可以訪問,但是不能修改) //訪問每個字元

char *string = "iphone";

for (int i = 0; i < strlen(string); i++)

//列印整個字串

printf("\n%s\n",string);

//賦值

// *(string + 1) = 's'; //錯誤點 : 常量區可以訪問,但是不能修改

// printf("%s\n",string);

//通過指標可以計算出字串的元素個數嗎? char string = "iphone";

char *p = string ;

int i = 0;

while (*p != '\0')

printf("len= %d",i);

//指標作為引數可以實現兩個數的交換(指標x和y操作是傳過來的實參a,b所對應的位址空間)

int a = 3, b = 5;

printf("交換前a=%d, b=%d\n",a, b);

changevalue1(&a, &b);

printf("交換後a=%d, b=%d\n",a, b);

*///列印所有的陣列元素

int array[5] = ;

//列印所有的陣列元素

printfarray(array, 5);

return 0;

}

C語言(八) 指標上

今天我們學習指標,我們現在來了解一下指標它是什麼呢?在電腦科學中,指標是程式語言中的乙個物件,利用位址,它的值直接指向存在電腦儲存器中另乙個地方的值。由於通過位址能找到所需要的變數單元,可以說位址指向該變數單元。因此將位址形象的稱為 指標 意思是通過它能找到以它為位址的記憶體單元。我們可以這麼理解 ...

C語言(八) 指標(2)陣列和指標

函式引數表中的陣列實際上是指標 int main int argc,char argv int min,max printf main sizeof a lu n sizeof a minmax a,sizeof a sizeof a 0 min,max printf min d n min pri...

C語言基礎知識回顧 4 指標

c語言基礎知識回顧 超適用於計算機二級 int p,s,k 20 s k p s 三者關係如下圖 int k 1,q,p q k s k 1 不合法賦值 p q 該關係如下圖 p null 等價於p 0 或p 0 表示給指標變數賦空值.1 通過指標來引用乙個儲存單元 通過 間接訪問運算子 e.g.i...