指標
#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...