C语言指针相关概念

来源:互联网 发布:数据误差包括哪些种类 编辑:程序博客网 时间:2024/05/22 03:36

指针  :一个变量的地址称为该变量指针

 int a=5; 

int *p; 
p=&a;  //指向一个整型变量a 
 
int a[5]; 
int *p; 
p=a;//指向一个数组的首地址 
 

int *p=NULL;//初始化为空

指针变量:一个变量专门用来存放另一个变量的地址(即指针)

定义  基类型   *指针变量名;  如flaot   *pointer;  

                                pointer=&i;     //可以用赋值语句使一个指针变量得到另一个变量的地址

只用整形变量的地址才能放到指向整形变量的指针变量

            int  a=100;int *pointer;

         pointer=&a;  //把变量a的地址赋给point

         运行输出 a=*pointer=100,point=&a  //a的存放地址

&”和“*”两个运算符的优先级别相同,但按自右而左方向结合。因此,&* pointer与&a相同,即变量a的地址。

  如果有pointer_2 =&* pointer_1 ;它的作用是将&a(a的地址)赋给pointer_2 ,如果pointer_2原来指向b,经过重新赋值后它已不再指向b了,而指向了a。

(*pointer_1)++相当于a++

重写库函数

char* myStrcat(char *pDest, const char *pSource)
{
char *pTdest = pDest;
while (*pTdest++)  //指针一直遍历,指到'\0'的下一位         
--pTdest;  //回退一格
while (*pTdest++ = *pSource++)  //'\0'赋值 自右向左 先++再赋值
return pDest;

}

内存中是以字节数来计算大小的,而strlen返回的只是字符串长度



原创粉丝点击