黑马程序员技术交流社区

标题: C语言 指针的简单总结 [打印本页]

作者: hanxujie    时间: 2015-7-17 08:33
标题: C语言 指针的简单总结

一、指针变量的定义

1. 格式:变量类型 *指针变量名;

2. 举例:int *p;   char *p2;

3. 注意:定义变量时的*仅仅是指针变量的象征


二、利用指针变量简单修改其他变量的值

1.指向某个变量

int a;


int *p;

p = &a;

或者

int *p = &a;


2.修改所指向变量的值

*p = 10;


3.在函数内部修改外面变量的值

int a = 10;

change(&a);


void change(int *n)

{

    *n = 20;

}


4.利用指针可以封装一个函数实现交换两个变量的值

int change(&a.&b)

{

int temp = *a;

*a = *b;


*b = temp;


return 0;

}

三、指针与数组

1.将数组当做函数参数传入时,会自动转为指针


四、指针与字符串

1.定义字符串的2种方式

1> 利用数组

char name[] = "itcast";

* 特点:字符串里面的字符是可以修改的

* 使用场合:字符串的内容需要经常修改


2> 利用指针

char *name = "itcast";

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

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


2.定义字符串数组

1> 利用二维字符数组

char names[2][10] = {"jack", "rose"};


2> 利用指针数组

char *names[2] = {"jack", "rose"};



一、指针变量的定义

1. 格式:变量类型 *指针变量名;

2. 举例:int *p;   char *p2;

3. 注意:定义变量时的*仅仅是指针变量的象征


二、利用指针变量简单修改其他变量的值

1.指向某个变量

int a;


int *p;

p = &a;

或者

int *p = &a;


2.修改所指向变量的值

*p = 10;


3.在函数内部修改外面变量的值

int a = 10;

change(&a);


void change(int *n)

{

    *n = 20;

}


三、指针与数组

1.将数组当做函数参数传入时,会自动转为指针


四、指针与字符串

1.定义字符串的2种方式

1> 利用数组

char name[] = "itcast";

* 特点:字符串里面的字符是可以修改的

* 使用场合:字符串的内容需要经常修改


2> 利用指针

char *name = "itcast";

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

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


2.定义字符串数组

1> 利用二维字符数组

char names[2][10] = {"jack", "rose"};


2> 利用指针数组

char *names[2] = {"jack", "rose"};


作者: lixianzhu0712    时间: 2015-7-17 08:53
很不错11
作者: 562413895@qq.co    时间: 2015-7-17 08:57
还有指针与函数的关系没有说呢,不过感觉总结的已经很好了
作者: 294250051    时间: 2015-7-17 10:13
“3. 注意:定义变量时的*仅仅是指针变量的象征”
我觉得你这里不应该用“象征”来描述
指针就是变量的类型,和int char float 等等都是一样的
指针没有什么特殊的
只是在声明指针变量的同时,要在*前面再加一个具体的类型,比如说是int,char。。。
作者: 菜鸟一枚    时间: 2015-7-17 10:29
总结的挺好的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2