日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

指针函数与指针数组

發布時間:2025/5/22 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 指针函数与指针数组 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 函數指針 void (*f)()

2. 函數返回指針 void *f()

3. const 指針. const int * or int const *. 即指針指向的值不能被修改, const 在 * 左邊

4. 指向 const 的指針. int * const, 指針本身不能被修改

?

例題1:

一個指向整型數組的指針定義為

A. int(*ptr) [] B. int *ptr[] C. int *(ptr[]) D. int ptr[]

A 是指向整型數組的指針

B, C 等價, 是指向數組的指針, 數組的元素是 int*

?

例題2:

int main() {

????int a[] = {1, 2, 3, 4, 5};

????int *ptr = (int *)(&a + 1);

????printf("%d %d", *(a+1), *(ptr-1));

}

返回的結果是 2, 5

數組名本身就是指針, 再加上 & 就變成了雙指針, 這里的雙指針就是指二維數組, 加上 1, 就是數組整體加一行, ptr 指向第六個元素

?

例題3:

float (**def) [10]; def 是一個二級指針, 它指向一個一維數組的指針, 數組元素都是 float

double* (*gh) [10]; gh 是一個指針, 它指向一個一維數組, 數組的元素都是 double*

double (*f[10])(); f 是一個函數數組,

int (*(*f)(int, int))(int); f是一個函數指針, 參數為兩個 int 并返回一個函數指針, 該函數的指針接受一個 int 并返回一個 int

?

例題4:

int main() {

????char* a[] = {"hello", "the", "world"};

????char **pa = a;

????pa ++;

????cout << *pa << endl;????

????return 0;

}

?

輸出是 the

char* a[] 等價于 char* (a[]), pa 是一個二維數組

轉載于:https://www.cnblogs.com/zhouzhuo/p/3639880.html

總結

以上是生活随笔為你收集整理的指针函数与指针数组的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。