名称的概念及形式

变量

变量定义的一般形式:

类型名称  变量名称;

数组

一维数组:

数据类型  数组名称[长度];

二维数组:

数据类型  数组名称[行标][列标];

指针

声明指针

数据类型  *p变量名称;

初始化指针

数据类型  *p变量名称 = NULL;
初始化指针,使指针不知向任何对象

指针数组

数据类型  *变量名称[长度] = { NULL };
char *pString =NULL;

声明一个char类型的指针变量:
指针只是一个存储另一个内存位置的地址变量

char *pS[10] ={NULL};

创建一个指针数组,存储字符串的位置
此语句声明了一个数组,包含10个char*类型的元素,pS中的每个元素都可以存储字符串的地址

函数

函数的返回值类型  函数名称(参数)
数据类型   函数名称(数据类型 变量名称)

函数的一般形式:

Return_type   Function_name(    parameters   )
{
        //Statements
}

调用函数的一般形式

Function_name(list of Arguments)

函数指针

函数返回值的类型  指针的名称(数据类型)

例子:

int (*pfunction)(int)

函数指针变量的声明,该语句只定义了指针变量
指针的名称是pfunction,指向一个参数int类型、返回值是int类型的函数

  • 什么是指针的名称?
  • 什么是函数指针变量?
  • 指针变量?
  • 什么是函数指针?

函数指针的数组

函数指针和一般的变量是一样的,所以可创建函数指针的数组,要声明函数指针的数组,只需要在将数组的大小放在函数指针数组名之后,

int (*pfunctions[10])(int)

这条语句声明了一个包含10个元素的指针数组,
这个数组的每一个元素都能存储一个函数的地址

函数指针作为变元?

变元个数可变的函数?

结构体

结构体类型的定义:

struct  结构体名
{
    结构体成员;
}

结构体成员可以是变量、数组、指针等数据类型

  • 先定义结构体,后定义结构体变量
  • 定义结构体的同时,定义结构体变量
  • 只定义结构体变量

结构体类型的引用

结构体变量名称.成员变量名称

结构体变量的初始化

如何进行初始化

不能再结构体的内部进行初始化

结构体数组

  • 先定义结构体,后定义结构体数组
  • 定义结构体的同时定义结构体数组

结构体数组的引用

  • 结构体数组定义以后,通过下标即可引用相应的结构体元素

结构体数组的初始化

  • 初始化数组所有的元素
  • 结构体数组可以在定义时就赋予初值即初始化
  • 初始化数组的部分元素

结构体指针的定义形式:

struct  结构体类型  *指针名

结构体数组指针

结构体类型   *变量名 = NULL;
Horse *phorse =NULL;
  • 这条语句声明了一个horse指针,它可以存储Horse类型的结构地址
  • 结构指针的声明方式和声明其它类型的指针变量相同。

结构体变量可以作为函数的参数

传值调用

结构体地址可以作为函数的参数

传址调用

结构体数组可以作为函数的参数

共用体

共用体的定义形式

union  共用体名称
{
    成员表;//必须是英文下的分号
}
  • 共用体变量的值为最后一次赋的值
  • 共用体变量在定义时不能赋值
  • 不能对共用体变量整体进行赋值
  • 定义共用体数组

枚举类型

枚举类型的定义形式:

enum  枚举类型名(枚举元素表)

用户自定义类型

为已有的类型重新定义

typedef 类型名 标识名

你可能感兴趣的:(引用,声明,定义,存储,创建,C语言入门经典Ivor,Horton,基本知识点)