1. 程式人生 > 其它 >C學習筆記(2)--指標

C學習筆記(2)--指標

一、多檔案結構總結

1.子原始檔裡面包含自己對應的標頭檔案

2.無論是何原始檔呼叫庫函式,都需要包含該庫函式的宣告所在的標頭檔案

3.標頭檔案又叫介面檔案,.c對資料和函式進行封裝和包含,

   .h就是.c對外面的.c的介面

二、指標

1.指標:就是地址變數,指標又叫指標變數,說明它是一個變數,是個專門存放地址值(地址常量)的變數。指標=地址

例如:定義一個指標, int *p,這裡面解讀兩點:首先,這句話聲明瞭一個指標,這個指標是P,不是*P。第二個是聲明瞭一個指向整型變數的指標。

Int a;
Int *p;
p=&a;
*p=a;
#include <stdio.h>
void swap(int *a,int *b);
void main(void)
{
int a=5,b=8;
printf("a=%d,b=%dn",a,b);
swap(&a,&b);
printf("a=%d,b=%dn",a,b);
}
void swap(int *a,int *b)
{
int k=*a;
*a=*b;
*b=k;
}

2.陣列名:是一個地址,並且是一個地址常量(也就是指標常量)

通過指標運算元組:

#include <stdio.h>
void swap(int *a,int *b);
void main(void)
{
char a[5]={'h','e','l','l','o'};
char *p;
int i;
p=a;//把指標常量賦值給指標變數,陣列名為一個地址常量
for( i=0;i<5;i++)
{
printf("a[%d]=%cn",i,p[i]);
}
}

修改成子函式呼叫

#include <stdio.h>
void printArray(int *p,int n );
void main(void)
{
char a[5]={'h','e','l','l','o'};
    printArray(a,5 );
}
void printArray(char *p,int n )
{
int i;
for( i=0;i<n;i++)
{
printf("a[%d]=%cn",i,p[i]);
}
}