范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

C不同场合不同应用场景的不同类型的指针

  指针功能强大,但如果使用不当,也是一个重大隐患。
  为了深入理解指针,需要了解指针在不同的场合有不同的应用场景。
  先看思维导图:
  1 指针与对象
  这里的对象是指内存对象,数据存储在内存中的数据对象。
  1.1 指针指向普通变量
  demo:int main() {     int i = 100;     int *p;     p = &i; // 指针指向普通变量     printf("己值与他值:%x = %x ",p,&i); }
  1.2 指针指向对象
  demo:class Point{     int x,y; public:     Point(int a,int b):x(a),y(b){}; };  int main() {     Point p1(100,100);     Point *pt = &p1; // 指针指向对象 }
  1.3 指针指向对象的数据成员
  demo:class Point{ public:     int x,y;     Point(int a,int b):x(a),y(b){}; };  int main() {     Point p1(4,5);     int *p = &p1.x; // 指针指向对象的数据成员 }
  1.4 类的数据成员指针
  demo:#include  using namespace std; class Point{ public:     int x,y;     Point(int a,int b):x(a),y(b){}; };  int main() {     Point p1(4,5),p2(7,8);     int Point::*p; // 类的数据成员指针,声明时需要类名限定     p = &Point::x;     cout< // 定义了NULL int main() {     int x=2,y=3;     int a[3] = {89,72,43};     int *p[4]={&x,&y,NULL,a}; // 指针数组     int **q = p; // 指针数组名可以赋值给一个二维指针,     // 因为一维数组名是一个一级指针,而指针数组的元素也是一个一个一级指针 }3 指针与函数
  3.1 函数指针:指向函数的指针
  demo:int f(int,int){return 0;} int main() {     int(*p)(int,int); // 函数指针:指向函数的指针     p=f; }
  3.2 类成员函数指针
  demo:#include using namespace std;  class Point{     int x,y; public:     Point(int a,int b):x(a),y(b){};     int getX()const;     int getY()const; }; int Point::getX()const{return x;} int Point::getY()const{return y;} int main() {     Point p1(4,5),p2(7,8);     int(Point::*funcPtr)()const; // 类成员函数指针,声明时需要类限定     funcPtr = &Point::getX;     cout<<(p1.*funcPtr)()< int*func(int x,int y) // 指针函数:指针类型函数 {     int *q = (int*)malloc(sizeof(int));     *q = x*y;     return q; } int main() {     int *p=func(2,3);     free(p); }4 指针与指针
  4.1 指针的指针
  demo:#include   int main() {     int a=100;     int *p = &a;     int* *p1 = &p; // p1是一个指针,指针的元素是一个一级指针int*,所以p1是一个二级指针     std::cout<<(*p1 == p)< // 定义了NULL int main() {     int x=2,y=3;     int a[3] = {89,72,43};     int *p[4]={&x,&y,NULL,a}; // 指针数组     int **q = p; // 指针数组名可以赋值给一个二维指针,     // 因为一维数组名是一个一级指针,而指针数组的元素也是一个一个一级指针 }
  首先是指针(*q),然后元素类型是int*,结合到一起就是int**q。5 指针与const
  指针构造了数据(变量)之间的一种联系,涉及到己型、己址、己值,他型、他址、他值,当用const修饰指针变量时,const可以修饰他型,也可能修饰己型,或者同时修饰他型、己型。
  Syntax
  meaning
  const T*
  pointer to constant object
  T const*
  pointer to constant object
  T* const
  constant pointer to object
  const T* const
  constant pointer to constant object
  T const* const
  constant pointer to constant object
  (区分的关键点在于const位于指针声明符*的前面,则表示const修饰指针的目标类型,表示目标类型不能通过指针去修改,如果const位于指针声明符*的后面,表示修饰自身为常量。)
  5.1 指针指向的目标类型为const
  表示目标类型的值不能通常此指针去修饰,但并不意味着目标类型是常量类型,如果目标类型本身非const类型,目标类型仍然可以通过自己做左值去修改自身。
  demo:int main() {     const int a = 20;     const int *p1 = &a; //const位于符号*前,表示修饰目标对象     // 表示目标对象不能通过该指针去修改, //  *p1 = 1; // error,target type is const     // can"t modify target with p1;     int b = 30;     p1 = &b; //  *p1 = 1; // error     b=2; // 但如果目标对象是非常量,自身是可以修改的 }
  5.2 const指针
  demo:int main() {     int a,b;     int *const p = &a;// const指针,const位于符号*的后面,表示修饰指针自身 //  p = &b; //error     a = 20;     *p=100; }
  5.3 目标类型和己型都是constint main() {     int a,b;     const int /*const*/ * const p = &a; //  *p = 12; // error,因为目标类型int被const修饰,表示不能通过此指针去修改     a = 12; //  p = &b;  // p被const修饰(const位于符号*之后),表示p本身是一个常量     b=13; }
  5.4 二级指针与constint main() {     int a,b;     int *p = &a;     int* const* pp = &p; // non-const pointer to const pointer to non-const int     int *q = &b;     pp = &q;     **pp = 22; //  *pp = &a; // 不能通过pp来修改*pp     const int *r = &a;     int const **qq = &r; //  **qq = 33;     *qq = &b;     const int *s = &b;     qq = &s; }6 指针与泛型:
  通常称void*与泛型指针,是一种类型暂定的指针。void*在一个库函数中使用较多,如malloc的返回值类型,qsort()的参数类型。
  code demo:#include   int main() {     void *vp;     int arr[] = {1,2,3,4,5,6};     vp = arr; // ① 取得基准地址     // ② vp解引用和算术运算前需要先转型(确定具体类型)     *((int*)vp) = 11;     int *p = ((int*)vp)+1;     *p = 22;     *((int*)vp+2) = 33;     for(int i=0;i<6;i++)         printf("%d ",*((int*)vp+i));     getchar(); }
  -End-

把当年的活塞五虎放到现在,是啥水平?韦德能抗衡17年巅峰勇士当年的活塞可以说相当的牛,击败过湖人队,马刺等强队,是一只蓝领球队。那么问题来了,把当年的活塞五虎放到现在,是啥水平,对于这个问题,韦德给出了自己看法,韦德五虎活塞能够在全场得分不朱婷的一句话,让樊登感叹我的天,你的心真大今年的奥运会上,朱婷因为受伤,无法发挥出水平,女排跟夺奖无缘。最近,朱婷接受樊登采访时,当她惯性用右手去端水壶,才发现很疼。赶紧换成左手端水壶倒水。可见,当时,赛场上的排球,冲击力西部排名大变脸!勇士坐火箭般连升7名,2队争第4,湖人跌到第9NBA新赛季进行到现在,比赛打了已经接近4分之1,各队的表现和新赛季的排名都有了一个大致的雏形!其中在西部,就发生了不小的变化,可以说排名大变脸,勇士相比于上赛季连升7名,冲上第1冉莹颖喝醉后披露刚工作时月薪只有500,有人出20万我没同意大满贯拳王邹市明的妻子冉莹颖是一位备受关注的女性,她的身份有很多,比如三个儿子的母亲,好妻子,公司老总等等,但在这些身份到来之前,她曾是央视一个小频道的实习生,据一段视频采访中她喝2021年中国搏击第5期TOP排名榜2021年格斗世界中国搏击TOP排行榜(第五期)2021FightingWorldChinaFightingRankingList(The5)格斗世界于2021年推出的全新中国自由莫干山首家拥有明星代言网红森林民宿,35米竹林滑梯丨宿里FUN集莫干山现在充斥着各式各样的独特民宿,莫干山宿里酒店所在的上皋坞村,是为数不多未被开发的村落,风景异常之美,竹海遍布,绿意盎然。酒店本身的存在,就像一个山路前行的古道高奢驿站。同时,保罗的尤因式悲剧!未能把握勇士低谷期,不幸再遇巅峰库里连续击败独行侠拿到一波11连胜后,菲尼克斯太阳继续牢牢占据着西部第二把交椅,紧跟金州勇士身后穷追不舍,赛季截止到目前,他们场均以47。1的投篮命中率得到110。7分,送出联盟第三多国足出线无望,阿兰洛国富恐成绝唱,黄健翔罕见发声11月21日是2022年卡塔尔世界杯倒计时一周年,当天中午,黄健翔在社交平台上发文感慨,称这一届世界杯是最后一届32支球队参加的世界杯了。众所周知,卡塔尔世界杯是一届特殊的世界杯,北京冬奥村首迎全要素模拟战,43个代表团和1个观察团参加冬奥会期间,北京冬奥村(冬残奥村)预计接待来自54个国家和地区代表团参加冰球冰壶花样滑冰短道速滑速度滑冰自由式滑雪(大跳台)和单板滑雪(大跳台)7个项目的1670名冬奥运动员及随队朱芳雨大手笔签约!曝场均347小外援加盟广东,杜锋再次调整阵容确定消息,广东男篮已经签约上赛季效力四川的拉斯史密斯,他已经获得签证即将前往中国。国内媒体人报道了广东宏远最新引援消息。第一阶段的比赛,广东宏远依靠全华班的阵容,取得11胜2负的战14岁2米26!巩晓彬亲自教授小巨人内线脚步,2米02大彬显小鸟依人无论是男篮还是女篮,我们都有很多优秀的大个子内线球员。男篮有姚明易建联穆铁柱,女篮有郑海霞李月汝等等。之前,就有新闻报道了山东一个小姑娘,这位小姑娘只有14岁(2007年出生于济南
存款10万元,放银行一年能有多少利息?内行人选对方法到手更多我国有着不低的储蓄率。拥有足够的存款,不光可以集中力量办大事,比如买房置业婚嫁生育医疗等,还可以让我们在面对风险时,有更多的底气和更大的抗风险能力。如今经济下行压力加大,一些人的工中国载人登月工程已立项据国家航天局的消息,我国探月工程有了新的进展。探月与航天工程中心主任刘继忠在接受总台记者采访时表示探月工程四期任务已获国家批复,目前进展顺利。笔者认为,四期工程就是载人登月工程。四我国首次发现月球新矿物嫦娥石央视网消息中秋佳节,嫦娥和玉兔的故事不能不说。广寒宫里的嫦娥玉兔是古老的神话传说,抬头望月,我们都知道月球上有美丽的仙子和乖巧的玉兔,而我们这个民族对广袤宇宙的探索却从未停止过。今罕见!就在今天,17时59分天文科普专家称今年(2022年)中秋是十五的月亮十五圆中秋月最圆时刻为9月10日17时59分今天傍晚时分一轮圆月升起正是公众赏月佳时中秋节适逢满月十五的月亮十五圆由于地月运动存在波说说地球关于氧气那些事,从无到有,从有到无对于地球生物而言,氧气是非常重要的因为地球上的所有生命都属于碳基生物,从原始海洋中的单细胞蓝藻发展到如今生生不息的多样性生物,都依赖于一个合适的环境包含液态水的水圈和由板块组成的岩马斯克发射14手火箭,5次点火变轨,成功发射太空手机信号基站9月11日,马斯克的Spacex公司进行了一次堪称史上最复杂的猎鹰9号火箭发射,将34颗星链卫星及号称太空手机基站的BlueWalker3发射入轨。14手火箭有多黑本次火箭芯级为B一种新的物理效应被发现光磁效应日本东北大学研究生院理学研究科岩井伸一郎教授天野辰哉特聘研究员大串研也教授今井良宗副教授若林裕助教授,和中央大学理工学部米满贤治教授,以及名古屋大学研究生院工学研究科岸田英夫教授组如果拿把铲子朝地球往下挖,最终能挖穿地球吗?挖到一米,地鼠就居住于这个深度。地鼠居住深度地下两米,这是每个人百年以后长眠的地方。人类长眠深度地下六米,金属探测器只能探测到这里了。金属探测器深度地下20米,这是巴黎地下墓穴博物在火星上引爆核弹让其升温?还有一种人类最擅长的方法一直以来,火星都是人类星际移民的最佳选择,人类也向火星发射了很多无人探测器,对其进行全面探索。火星平均温度只有零下55度,表面没有液态水,而且几乎没有任何大气层。不过科学家们在火星极目锐评苹果98元一根挂绳引争议,它凭什么卖那么贵?极目新闻评论员屈旌苹果一根挂绳售价98元?明明可以抢,但还送了你一根绳子一年一度的苹果新品发布会落下帷幕,诸多引爆舆论的话题中,一根天价挂绳牵动了网友的吐槽欲,被评为智商税产品。(2022年9月10日华强北手机批发报价单今日各品牌手机报价已出,欢迎查看交流评论留言,喜欢的点击关注了解手机每日走势!华强北疫情休市了几天现在又中秋放假,几天都没准确的报价了,报价单只供大家参考!以上就是今日的华强北最新