指针的基本使用


来源:http://www.cnblogs.com/MrTao/p/4356192.html

 

格式:变量类型 *变量名

指针作用: 只能存储地址,访问对应的存储空间

指针前面是什么类型就只能访问对应一样类型的数据

 

1、  指针与基本数据类型

int a =0;

int *p = &a;

*p = 2;

2、  指针与数组

int a[] = {10,11,13}

int *p = a;

p[2]  ==  *(p+2)  ==  a[2]

3、  指针与字符串

1> 利用数组

char  name[] = “what’s your name”;

* 特点:字符串里面的字符能修改

* 使用场合: 字符串内容需要修改且不固定的

2> 利用指针

char *name = “what’s your name”

* 特点:字符串里的字符不能改动,其实就是一个常量字符串

* 使用场合: 字符串的内容不能修改,且这个字符串经常使用

4、  指针与函数

1> 无参

void test(){}

 

void (*p)();

p = tset;

(*p)();    /    p();

2> 有参

void test(int a, int b){}

 

void (*p)(int , int);

p = tset;

(*p)(10 , 10);    /    p(10 , 10);

5、  指针与结构体

定义一个结构体

struct Student

{

int no;

int age;

};

定义一个结构体变量

struct Student stu={1,20};

定义一个结构体指针  并且指向stu结构体变量

struct Student *p = &stu;

访问结构体内部成员变量

  1. stu.no;
  2. (*p).no;
  3. p->no;