在c语言中的初级碰撞

在c语言中的初级碰撞

学了这么长时间的c语言了,一直都在皮毛之间徘徊。是时候总结一下了,那些在C语言中的磕磕碰碰也该有一个了断。错略的总结了一下,居然发现C语言就这么一点点内容,不看不知道,原来我一直都在同一个问题上反复犯错。

关于C语言的总结图示

花了两个小时,整理出来的精华,和自己的不足。
在这里插入图片描述

C语言的函数传参
  1. 调用函数传参一定是实参,实参包括数,字符,字符串,数组,指针等等

  2. 而函数中,定义的就是形式参数了,这里的形式参数不会随着函数的进行而改变函数外的值,总之还是记住一句话{形参是实参的拷贝

  3. 要使用函数而改变函数外的变量,那么一定是参入要操作对象的指针

    就拿我最懵逼的数组来说,我以前一直是记住函数定义的模板,后面还是不断在数组传参上栽跟头。主要是还是不能理解函数对要操作内容的动作原理。

    要操作一维数组,其实你要操作的是数组里面的数或者是字符串等等,所以我们要传入的就是一位数组的首元素的地址

    
    int tes1t(int arr[10]int n){
    		//..........
    }
    
    int test2(int arr[ ],int  n ){
    		//.........
    }
    
    int test3 (int*arr, int n ){
    		//.........,这里的arr与其说是数组名,不如说是这个数组中第一个元素的地址//
    

    这里的二维数组更是一模一样,没有任何不同,传入的是操作对象的指针。二维数组的内容就是一位数组

    
    int test1(int arr[10][10]{
    		//........
    }
    int test2(int arr [ ][10]){
    		//........
    
    int test3(int (*arr)[10]){
    		//........尤其是这个参数可以很明显的看见,参数是这个二维数组中的第一个元素的地址,也就是一位数组的指针
static的用法

这也是老大难问题,我都不敢用,怕用错。其实就三点{

1.局部变量 -》用于局部变量时,这样就是相当于延长变量的生命周期,同时定义时的运算只进行一次

2.全局变量 -》用于全局变量时,这样就是限定了这个变量只会在本文件中能够被使用(由于C语言的main函数主导型,会有多个文件同时存在)

3.函数 -》用于函数和全局变量有点像,作用于函数以后他也是限定来函数只能在本文件之中能被调用}

const

在const上,主要是指针上的迷惑

int i=0;
int * const p=&i; //p是const常量,不能再修改
   *q=26;//OK
   q++;//ERROR---->>这里就是很好的解释了,cons+指针变量后面发,指针的地址不能变,但是改地址上的内容可以变化


   const int* p=&i;//不能通过这个指针修改那个变量  
   *p=26;//ERROR (*p)是const常量
   i=26;//OK
   p=&j;//OK
   int const* p=&i;(等价于const int* p=&i;)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值