欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c語言指針可以指向枚舉類型嗎

錢斌斌2年前54瀏覽0評論

c語言指針可以指向枚舉類型嗎?

C語言指針用法靈活,基本類型指針,

通用指針 void *

指針數組和數組指針

函數指針和指針函數

結構指針和聯合指針

枚舉指針

指針常量和常量指針

指針的指針

基本類型指針

指向整型和浮點型的指針。包括char,int,float,double類型指針

通用指針

void * 聲明一個通用指針,該指針可以和除函數指針類型之外指針類型相互轉換。

例如:

void *p;

int *ip;

p = ip;

ip = p;

指針數組和數組指針

指針數組:指針數組的每個元素都是指針類型。

例如:

// ip是數組類型,數組中每個元素是int型指針。

int *ip[];

// fp是數組類型,數組中每個元素是float型指針。

float *fp[];

數組指針:指針類型,指向數組。

例如:

int a[100] ; // 聲明和定義數組a

int *pa = a; // 聲明指針pa,并且將數組a的首地址賦值給pa

int a1 = *(pa+1); // 獲取數組a第2個元素的值,即a[1]的值

注:數組名本身就是當做地址常量賦值給指針,不需要 & 地址運算符。

函數指針和指針函數

函數指針指向特定函數類型的指針。

例如:

// fp是指針,指向 返回值為int型,有1個int型參數的一類函數

int (fp)(int);// fp是指針,指向 返回值為double型,有2個double型參數的一類函數double (fp)(double,double);

// fp是指針,指向 返回值為int型指針,有1個int型參數的一類函數

int (fp)(int);

注:指針函數是指返回值為指針類型的函數,本質上是函數類型;函數指針是指向函數類型的指針,本質上指針類型。

結構指針和聯合指針

指向結構類型、聯合類型的指針。

例如:

struct

枚舉指針

指向枚舉類型的指針。

例如:

enum

指針常量和常量指針

指針常量:指向常量的指針,指針本身是變量。

例如:

const int p = 1; // 定義常量p

const int *ptr = &p; // ptr是指針,指向const int *常量int型

int i = 2;

p = i; // 此時出錯,不能給常量賦值

ptr = &i; // 正確,ptr是指針變量,可以賦值

常量指針:指向變量的指針,指針本身是常量。

例如:

int p = 1; // 定義變量p

int const ptr = &p; // ptr是指針常量,指向變量int型

int i = 2;

p = i; // 正確,p是變量

ptr = &i; // 錯誤,ptr是常量指針

指針的指針

C語言支持多重指針,即指向指針的指針。

例如:以下都可以輸出變量i的值。

#include

輸出結果:

10

java常量 枚舉,c語言指針可以指向枚舉類型嗎