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=%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]);

}

}

 

posted @ 2013-11-12 00:07  幕三少  阅读(444)  评论(9编辑  收藏  举报