zoukankan      html  css  js  c++  java
  • C语言学习日记4

      发现一个很好的学习视频,叫朱老师物联网大讲堂。

      1、指针类型:在定义指针的时候  数据类型 *指针名  这个地方的数据类型,是指指针指向的变量的数据类型。必须匹配!

        在定义的时候可以这么定义  int *pint;  float *pfloat;  char *pchar;  double *pdouble;

        int *p;  理解方法,首先看到p,这个是变量名,其次,p前面有个*,说明这个变量p是个指针变量,最后,*p前面有个int,说明这个指针变量p所指向的是一个int型的数据。或者可以写成int* p;理解的时候就可以把int*当成一个整体,指一个指向int型的指针。  

      2、指针和数组 

        数组名:做右值时,数组名表示数组的首元素首地址,因此可以直接赋值给指针。如果有int a[5]; 则a和&a[0]都表示数组首元素a[0]的首地址,PS:数组首元素的首地址和数组的首地址是不同的。前者是数组元素的地址,后者是数组的首地址。含义不同但是数值上是相同的。 

        数组的方式一次访问:a[0]  a[1]  a[2]  a[3]  a[4]

        指针的方式一次访问:*p  *(p+1)  *(p+2)  *(p+3)  *(p+4)

      3、指针++ --运算

        指针本身也是一种变量,因此也可以进行运算。但是因为指针变量本身存的是某个其他变量的地址值,所以该值进行*/%等运算无意义。两个指针变量相加本身也无意义,相减有意义,指针变量+1,-1是有意义的。+1就代表指针所指向的各自向后挪一格,-1代表指针所指向的各自向前挪一格。

        *p++可以看作*(p++)等同于 *p;p+=1;

      4、函数传参中使用指针

        int add(int a,int b)函数传参使用了int函数;实参把自己的值复制一遍传递给形参,自己本身不参与计算。

        int add(int *a,int *b)函数实参传的是地址,这样就可以再函数内改变实参变量的值

  • 相关阅读:
    源码分析shiro认证授权流程
    shiro功能模块
    Java NIO(New I/O)的三个属性position、limit、capacity
    阻塞和非阻塞,同步和异步 总结
    小白科普:Netty有什么用?
    【异常】SSM整合quartz之org.quartz.impl.JobDetailImpl----ClassNotFoundException
    笔记本键盘字母按出来的都是快捷键
    eclipse egit提交方法
    oracle批量insert
    CAS Client 3.2.1 配置详解
  • 原文地址:https://www.cnblogs.com/thorzhou/p/5572988.html
Copyright © 2011-2022 走看看