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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

指针基础再续

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

? ? ? ? ? ?上次談到指針相關基礎,但遇到了一些問題沒有說完,這次再來補充一下,嘿嘿!

通過指針引用字符串:

? 傳入字符數組時:

#include<stdio.h>int print1(char c1[]) {int i=0;while(c1[i]!='\0'){printf("%c",c1[i]);i++;}return 0; }int print2(char c2[]) {for(int i=0;c2[1]!='\0';i++){printf("%c",c2[i]);}return 0; }int main() {char c[20]="i love you";print2(c);return 0; }

我用for和while分別打印了字符數組,可以任選其一,打印結果:i love you ??

?

?傳入字符指針時:

?

#include<stdio.h>int print3(char *c3) {for(char *c4=c3;*c4!='\0';c4++){printf("%c",*c4);}return 0; }int main() {char c[20]="i love you";char *c1=c;print3(c1);return 0; }

打印結果:i love you

?

?

指向函數的指針:這個指針指向某個函數入口的那個地址,稱函數指針

一般形式:類型名 (*指針變量名)(函數參數表列)

? ? ?

#include<stdio.h>int change(int *a,int *b) {int temp;temp=*a;*a=*b;*b=temp;return 0; }int main() {int a2=4,b2=5,c;int *a1=&a2,*b1=&b2;int (*p)(int *,int *);//聲明指向函數的指針變量p=change;//使其指向函數的入口(*p)(a1,b1);//調用函數printf("a2=%d,b2=%d\n",a2,b2); return 0; }

?


返回指針的函數:

?

?

一般形式:類型名 ?*函數名(參數表列)

?

#include<stdio.h>int *printf(int (*p)[3],int n) {int *p1;p1=*(p+n);return (p1); }int main() {int a[2][3]={1,2,3,4,5,6};int (*p2)[3]=a;//定義指向二維輸的指針int *p3;p3=print(a,1);for(int i=0,i<3;i++){printf("%d\n",*p3++);}return 0 } 打印:4 5 6 根據指針函數返回的指針來確定打印哪個一維數組,注意如何定義一個二維數組的指針和指針函數的定義

?

?

?

? ? ? ? ??

總結

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

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