char*以及char*p

来源:互联网 发布:安心360定位软件 编辑:程序博客网 时间:2024/05/23 13:58

再次感悟C语言的博大精深~~~~

本篇讨论指针以及指针引用
还有一个说不上来的东西:char* func1(char *p)

其实也就是实参与形参是否影响的关系

#include <iostream>using namespace std;char* func1(char *p);void func2(char *p);void func3(char * &p);char s1[]="原来的";char s2[]="指向我了吗";int main(){    char *ptr=s1;    cout<<ptr<<endl;    //ptr=func1(ptr);      //返回值改变ptr使它指向另一个地址    //func2(ptr);   //ptr的指向没有改变,func2函数中改变的只是它的副本(一个局部变量)    func3(ptr);   //改变了ptr的指向,func3函数的形式参数为引用类型,实参和形参是同一个变量    cout<<ptr<<endl;    return 0;}char* func1(char *p){    p=s2;    return p;}void func2(char *p){    p=s2;}void func3(char * &p){    p=s2;}

留作备忘有关(char *)的强制转换

P是short类型再CB中是两个字节。
&p 即是short *类型的
(char )&p 即是 char 类型的 ((char*)&p)[x] 又办成了char 类型的

CB里面的memory两位表示的是一个数2333