指针的进阶小tips

前情提要

  1. 指针是变量,存地址(唯一)
  2. 指针4/8个字节(32/64位平台)
  3. 指针有类型,其类型决定指针±整数的步长,指针解引用操作的时候的权限。
  4. 指针的运算

字符指针

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]);//打印字符
}

你可能感兴趣的:(数据结构)