c语言基础:数组、指针

来源:互联网 发布:他改变了中国知乎 编辑:程序博客网 时间:2024/05/16 18:30
  

一、数组:由一系列类型相同的元素构成,在内存中是连续存储的;

1)一维数组:

  int score[100];

  score[0]=89;

  score[1]=99;

  下标>=0,可以使表达式或者常量,但是值要小于数组的长度-1

 

 1.定义数组

     类型数组名[长度]

     int score[10]={11,22,33,44,55,66,77,88,44,2};

  

 2.使用数组

     数组名[下标]的方式访问数组。

  

 3,数组操作:最大值最小值平均值排序等。

 

2)多维数组:

  int score[10][30]:可以看做含有10个一维数组的数组,每个一维数组含有30个整型变量。

  int score[5][10][30];

 

 每一维的下标都是从0开始到数组的长度-1

 

 

二、函数:将程序中的功能模块化处理。

 

 定义:

 函数返回值函数名 (参数列表)

 {

   函数体

 }

 

 例如:

 int max(int a,int b)

 {

   return a>b?a:b;

 }

 int s;

 s=max(3,5);

   

 

 用户自定义函数:由用户自己创建的函数。

 

 系统函数库

   printf

   scanf

   rand

   ......

 

 

在函数内部定义的变量叫局部变量,作用范围是函数内,当这个函数执行结束,变量消失。

 在函数外部定义的变量叫全局变量

 

 

三、指针

 

 1,定义指针变量:指向变量的指针,指向数组的指针。

     类型 *变量名;

  int a;

  a=3;

  int * p;

  p=&a;

  *p=3;

 2,指针指向某个地址

    p=&a;

    /也可以/动态从内存中获取空间

    p=malloc(sizeof(int));

    free(p);

 

 3,指针的操作

  p=&a;

  *p=4;

  printf("%d",*p);

  

  

 指针指向数组

  int score[10];

  p=&score[0];

  p=score;//数组名代表数组的首地址

 

四、字符串

  

 char s;

  s='A';

  s=49;

  char uname[10]={'w','a','n','g','y','i','\0'};

  printf("name=%s",uname);

  

 

 字符串处理系统提供了一个函数库string.h

  

  strcat(char a[],char b[])字符串连接

  

  strcmp(char a[],char b[])字符串比较

  

  strcpy字符串拷贝

 

  strlen返回字符串长度

 

 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------