一、指针变量的定义
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"};
/*
编写一个函数void strlink(char s[], char t[])
将字符串t连接到字符串s的尾部
*/
#include <stdio.h>
#include <string.h>
void strlink(char s[], char t[]);
int main(int argc, const char * argv[])
{
char c1[20] = "hello";
char c2[] = "IT";
strlink(c1, c2);
printf("%s",c1);
return 0;
}
void strlink(char s[], char t[])
{
//判断是否结束
int i = 0;
while (s[i]!='\0')
{
i++;
}
//把t拷贝到s结尾
int j = 0;
while ( t[j] != '\0')
{
s[i] = t[j];
i++;
j++;
}
}