1,字符串常量可以赋值给字符指针,即用字符指针指向一个字符串。
因为在C语言中,字符串使按字符数组处理的,将字符串常量复制给字符指针,也就是将字符数组的首地址赋值给字符指针。
,
2,另外:函数参数传递,有数值传递、引用传递及指针传递三种;数值传递不能实现传递,引用和指针可以实现传递。
3,当指针指向数组后,指向数组的指针可以当做数组名使用;
int
a[5];
for (int
i=0;i<5;i++)
{
a[i]=i;
}
int *p=a;
for (int
j=0;j<5;j++)
{
cout<<p[j]<<endl;//---------指针名当做数组名用
}
但是数组名不能当做指针使用,因为数组名是地址常量,而指针是变量。
int
a[5];
a[0]=0;
a++;//***********----------不能当指针用
4,字符指针char *,指向一个字符串,存放字符串第一个字符的地址。
5,内存是有编号的,称为内存地址;变量名是某段内存地址的(起始地址)的别名,代表了这段内存区域;变量的值就是对于内存区域上存放的值;
6,普通变量的内存区域存放的是普通变量值;指针是一种特殊的变量,存放的是一个地址,在32位机上,指针变量占四个字节空间;