一、多文件結構總結
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=%d\n",a,b);
swap(&a,&b);
printf("a=%d,b=%d\n",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]=%c\n",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]=%c\n",i,p[i]);
}
}
文章列表