c语言菜鸟学习

  • 常量可以在main函数之前先定义如#define LENGTH 10 或者main函数内部const int LENGTH = 10;
  • auto 存储类是所有局部变量默认的存储类。register 存储类用于定义存储在寄存器中而不是 RAM 中的局部变量;static 存储类指示编译器在程序的生命周期内保持局部变量的存在;extern 存储类用于提供一个全局变量的引用,全局变量对所有的程序文件都是可见的.

  • 函数 strcat() 用来连接两个字符串,函数 memcpy() 用来复制内存到另一个位置。
  • 函数参数调用分为传值调用和引用调用.一般来讲没有特别操作就是传值调用,即传过去的参数在函数里修改了并不会真的改到参数值,引用调用:
void swap(int *x, int *y);
int main ()
{
   int a = 100;
   int b = 200;
   swap(&a, &b);
}
/* 函数定义 */
void swap(int *x, int *y)
{
   int temp;
   temp = *x;    /* 保存地址 x 的值 */
   *x = *y;      /* 把 y 赋值给 x */
   *y = temp;    /* 把 temp 赋值给 y */
  
   return;
}

这个就是可以改变到ab值的,因为改到了地址

  • 局部变量和全局变量的名称可以相同,但是在函数内,局部变量的值会覆盖全局变量的值。
  • 数组:

type arrayName [ arraySize ]

如果您省略掉了数组的大小,数组的大小则为初始化时元素的个数。

所有的数组都是以 0 作为它们第一个元素的索引,也被称为基索引

  • 多维数组:
    int a[3][4] = {  
     {0, 1, 2, 3} ,   /*  初始化索引号为 0 的行 */
     {4, 5, 6, 7} ,   /*  初始化索引号为 1 的行 */
     {8, 9, 10, 11}   /*  初始化索引号为 2 的行 */
    };

或者

int a[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11};

访问时

int val = a[2][3];

  • 传递数组给函数:
#include <stdio.h>
 
/* 函数声明 */
double getAverage(int arr[], int size);
 
int main ()
{
   /* 带有 5 个元素的整型数组 */
   int balance[5] = {1000, 2, 3, 17, 50};
   double avg;
 
   /* 传递一个指向数组的指针作为参数 */
   avg = getAverage( balance, 5 ) ;
 
   /* 输出返回值 */
   printf( "平均值是: %f ", avg );
    
   return 0;
}
 
double getAverage(int arr[], int size)
{
  int    i;
  double avg;
  double sum=0;
 
  for (i = 0; i < size; ++i)
  {
    sum += arr[i];
  }
 
  avg = sum / size;
 
  return avg;
}
  • 从函数返回数组:











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值