一、指针变量的定义
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";
* 特点:字符串其实是一个常量字符串,里面的字符是不能修改
* 使用场合:字符串的内容不需要修改,而且这个字符串经常使用
计算字符串长度函数:
int string_len(char *s)
{
// 1.定义一个新的指针变量指向首字符
char *p = s;
/*
while ( *s != '\0' )
{
s++;
}*/
while ( *s++ ) ;
return s - p -1;
}
int string_len(char *s)
{
//记录字符的个数
int count = 0;
// 如果指针当前指向的字符不是'\0'
//首先*s取出指向的字符
//然后s++
while ( *s++ )
{
//个数+1
count++;
//让指针指向下一个字符
//s = s + 1;
//s++;
}
return count;
}
int string_len(char *s)
{
//记录字符的个数
int count = 0;
//如果指针当前指向的字符不是'\0'
while ( *s != '\0')
{
//个数+1
count++;
//让指针指向下一个字符
//s = s + 1;
s++;
}
return count;
}
2.定义字符串数组
1>利用二维字符数组
char names[2][10] = {"jack","rose"};
2>利用指针数组
char *names[2] = {"jack","rose"};