第19節 C語言五大型別之指標型別

2021-07-28 13:20:59 字數 1838 閱讀 4894

資料型別: 指標型別

1.基本資料型別 整型

實型字元型

布林型字串

列舉型別

2.構造型別 陣列

結構體

聯合體3.指標型別

指標是一種特殊的資料型別,儲存是 不是乙個具體的數值,非數值資料,是記憶體位址。

一般格式  型別標示符* 變數名;

型別標示符指的是指標變數儲存的記憶體位址中儲存的資料的型別。

例如:int * point;//0xfff423c40

指標型別的變數如何初始化

1.int *p = null;//0x0 空指標,有意思的,不是野指標。但是如果宣告指標變數時不給指標變數進行初始化就有可能造成野指標。

2.給指標型別的變數賦初始值

int *p = &a;

就相當於把變數a在記憶體中的首位址賦值給指標型別的變數p。

int a = 5;//變數a 整型  int a = 4;//佔4個位元組

變數記憶體位址      <----------0000 0101

int * p = &a;//p->a 指標變數p中儲存的位址是變數a在記憶體中的首位址。

& 定址運算子 作用c語言充分相信程式設計師,所以給廣大程式設計師能夠操作記憶體的權利,怎麼去操作取操作記憶體,& 定址運算子,(取位址運算子),借助這個運算子咱們能夠拿到變數、陣列、函式等在記憶體中的首位址。

*  間接定址運算子 ,用於從指標變數中儲存的位址中取值。

例子:int *p=&a;//p中儲存的a的位址

*p就相當於a的乙個別名。 賦值

int a=100,b=50;

int *p = &a;

p=&b;

取值int a=100,b=50;

int *p = &a;

printf("a = %d\n",a);

printf("a = %d\n",*p);

指標型別的常量  int *const p;

例如:鐘停了

指標變數p中儲存的位址是常量不能夠修改。const限定符限定的變數不能被修改。就近原則const p;p中儲存的位址是乙個常量不能修改。

指標指向的常量   int const*p;

表示的是指標變數p中儲存的位址是可以被修改的,但是不能通過*p取修改指標指向的變數的值。

int const *p=&a; 不能使用*p修改a的值。但是p可以指向a以外的變數p=&b;依然不能通過*p修改b的值。

指標型別的陣列 int *p;char *p;

表示的是乙個陣列,每乙個陣列元素儲存的都是乙個整型變數的位址。

指向陣列名的指標變數 int (*p);

用指標做引數傳遞陣列

void sort(int a,int n);

void sort(int *a,int n);

void show(int **a,int m,int n);

1.返回值型別是指標的函式(指標函式)

char * strcat(char *s,const char *s1);

2.函式指標

int (*p)();

例如:void (*signal(int sig,void (*func)(int)))(int);

函式名:signal 訊號函式

引數 :int sig,void(*func)(int)

返回值: void (*signal)(int);

字元指標 char *p = "hello world!";

指標陣列做字串陣列 char *p[10] = ;

指標做引數傳字串  char *strcat(char *s,const char *s1);

4.空型別

5.自定義型別

第14節 C語言五大型別之構造型別 陣列

構造型別 是乙個復合的資料型別,進行批量處理資料的時候,就得引入乙個新的型別,同時能夠儲存多個 變數。陣列就是能夠儲存相同資料型別的 有序的 集合。1.能夠儲存相同資料型別的變數 2.陣列中儲存的每乙個變數的記憶體位址,在記憶體中是 連續的一段記憶體空間。順序儲存結構 3.集合 指的是陣列元素在資料...

SQL語言分為五大類

sql語言分為五大類 ddl 資料定義語言 create alter drop 這些語句自動提交,無需用commit提交。data definition language dql 資料查詢語言 select 查詢語句不存在提交問題。dml 資料操縱語言 insert update delete 這些...

Redis五大型別之String操作

檢視和連線redis命令列 redis cli help 檢視所有string型別的操作 help stringstring型別分為三種 1.string 2.number 3.bit 應用場景 秒殺 incr 分布式鎖setnx 一 string 型別 1 插入資料 set k1 aa 2 如果k...