C语言学习日记4

Posted 我光吃饭不洗碗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)函数实参传的是地址,这样就可以再函数内改变实参变量的值

 

以上是关于C语言学习日记4的主要内容,如果未能解决你的问题,请参考以下文章

C语言学习日记4

C语言学习日记5

C语言学习日记8

C语言学习日记2

python学习日记——安装及初识

C语言日记② 初识 C的内存