名稱的概念及形式

變量

變量定義的一般形式:

類型名稱  變量名稱;

數組

一維數組:

數據類型  數組名稱[長度];

二維數組:

數據類型  數組名稱[行標][列標];

指針

聲明指針

數據類型  *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 類型名 標識名
發佈了26 篇原創文章 · 獲贊 4 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章