前情提要
- 指针是变量,存地址(唯一)
- 指针4/8个字节(32/64位平台)
- 指针有类型,其类型决定指针±整数的步长,指针解引用操作的时候的权限。
- 指针的运算
字符指针
int main()
{char a='m';char *pc=&ch;//字符指针return 0;
}
&ch:把ch的地址取出来
将地址放到pc中,存放地址,成为指针变量->char*
const char* p="asdfg";//将首字母a的地址放在p里
printf("%s\n",p);//p即a的地址。不可给p解引用,打印字符串中,p解引用后为‘a’
输出结果:asdfg
a s d f g \0常量字符串
char*p指针不能被修改,最好加const
%s:打印字符串
指针数组
int* arr1[11];//整型指针的数组
char *arr2[4]={"asdf","assd","wert","we"};//一级字符指针的数组
char **arr3[2];//二级字符指针的数组
打印数组
char *arr2[4]={"asdf","assd","wert","we"};
int i=0;
for(i=0;i<4;i++)
{printf("%s ",arr[i]);//打印字符
}