久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3076|回復: 15
打印 上一主題 下一主題
收起左側

關于C語言各種指針的定義

[復制鏈接]
跳轉到指定樓層
樓主
ID:879924 發表于 2022-2-16 22:48 來自手機 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
指向一個整形變量的指針:
指向一維整形數組的指針:
指向二維整形數組的指針:
指向一個字符變量的指針:
指向一維字符數組的指針:
指向二維字符數組的指針:
分別如何定義呢?
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:824490 發表于 2022-2-17 10:53 | 只看該作者
這個問題有點繞,期待有高手來說說。
個人覺得,指針只是指針,而不管指向單元是存放什么類型的數值,好比一排文件柜,指針只是打開第3排第2個抽屜,至于抽屜里放的一本書還是一堆零食,指針就管不了了。。
回復

使用道具 舉報

板凳
ID:879809 發表于 2022-2-17 11:45 | 只看該作者
名字不是重點 發表于 2022-2-17 10:53
這個問題有點繞,期待有高手來說說。
個人覺得,指針只是指針,而不管指向單元是存放什么類型的數值,好比 ...

錯,指針操作必須考慮類型,比如指針++或者指針+1,如果是4字節int型,那么會+4,如果是char會+1
回復

使用道具 舉報

地板
ID:161164 發表于 2022-2-17 11:54 | 只看該作者
指針類型還是有必要的
如文件柜第3排第2個抽屜是放了一本短篇小說(char)
或是8051入門到精通上冊(int)
或是C語言入門到放棄1/4(Long)

如果你宣告的指針類型是int
但指向的地址是Long
你就只能拿到C語言入門到放棄1/4 和2/4
引致數據不完整
回復

使用道具 舉報

5#
ID:624769 發表于 2022-2-17 12:27 | 只看該作者
從根源上來講,
指針類型,代表這個指針的指向目的地,是指向內部存儲器(char* data),外部存儲器(char* xdata),還是代碼區(char* code),
而 char  int   long  這些屬于 變量類型,和指針本身沒有直接關系。
回復

使用道具 舉報

6#
ID:824490 發表于 2022-2-17 13:29 | 只看該作者
發表于 2022-2-17 11:45
錯,指針操作必須考慮類型,比如指針++或者指針+1,如果是4字節int型,那么會+4,如果是char會+1

探討一下:
指針是特有的類型,不屬于"char"/"int"/"long"等類型之列:
比如:
unsigned char num[]="0123456789"   
當*num時,指向的是num數組的首地址num[0]="0",*num++,指向的是num[1]="1";
而再如:
unsigned int num[]="這是一個雙字節整型數組"   
當*num時,指向的是num數組的首地址num[0]="這",*num++,指向的是num[1]="是";
這種情況下,如果因為chinese[]是int類型,讀num[1],就是*num+2,似乎說不通。


歡迎指正!


回復

使用道具 舉報

7#
ID:824490 發表于 2022-2-17 13:37 | 只看該作者
lkc8210 發表于 2022-2-17 11:54
指針類型還是有必要的
如文件柜第3排第2個抽屜是放了一本短篇小說(char)
或是8051入門到精通上冊(int)

好比當你往抽屜放東西時,就已經決定了這個抽屜的用途。當你在定義數組時,就要先定義這個數組的類型。
指針說白了,只是打開這個抽屜的鑰匙。鑰匙本身材質和抽屜的內容物真沒關系,銅或鋁均可,只要鑰匙的齒能對上抽屜鎖的坑。而抽屜的內容物和抽屜體積大小才有關,“抽屜體積大小”這個才是數組的類型。
回復

使用道具 舉報

8#
ID:824490 發表于 2022-2-17 13:38 | 只看該作者
188610329 發表于 2022-2-17 12:27
從根源上來講,
指針類型,代表這個指針的指向目的地,是指向內部存儲器(char* data),外部存儲器(char* x ...

贊同這個說法。
回復

使用道具 舉報

9#
ID:879809 發表于 2022-2-17 15:38 | 只看該作者

你們只學過C51才會說出這種無知的說法。
回復

使用道具 舉報

10#
ID:429003 發表于 2022-2-17 15:42 | 只看該作者
沙發說的沒錯,指針就是指針,某一個地址的存儲變量而已! 指向的內容可根據實際應用類型而定。當然,如果應用明確,也可以定義時直接聲明指針類型。

無論是變量、指針、數組還是函數指針等,無外乎是CPU尋址范圍內某一個位置的序號及對應序號位置存儲數據內容的關系而已。
回復

使用道具 舉報

11#
ID:824490 發表于 2022-2-17 15:44 | 只看該作者
發表于 2022-2-17 15:38
你們只學過C51才會說出這種無知的說法。

舉個例子?
回復

使用道具 舉報

12#
ID:624769 發表于 2022-2-17 17:18 | 只看該作者
發表于 2022-2-17 15:38
你們只學過C51才會說出這種無知的說法。

不知道你是基于什么底氣說出“無知”兩字?

站在 C++ 立場來講, 指針是沒有類型的。

站在 C51 立場,指針才有了類型,嚴格來講只有兩種類型,
一種叫 通用指針
一種叫 專用指針
專用指針 再分  片內指針和片外指針。

但是,無論哪個立場,都不會出現你回復中所出現的 char int  這種分類,這種分類只是針對變量的類型,指針不是變量。。
回復

使用道具 舉報

13#
ID:313048 發表于 2022-2-17 18:07 | 只看該作者
發表于 2022-2-17 15:38
你們只學過C51才會說出這種無知的說法。

無知?不知道你為啥會說出這樣的話,別人只是從他理解的角度說明這個問題,在你眼里怎么就變成無知了?還有你怎么就知道別人只學過51?還是說因為你多學了一個TI的430?還是說意法半導體的32?還是說其他飛思卡爾的K60?亦或者是跑Linux系統的H5?哪里來的優越感?張口就說別人無知。
回復

使用道具 舉報

14#
ID:313048 發表于 2022-2-17 18:10 | 只看該作者
只要是C,就離不開其指針的獨特性,整個C都是圍繞著指針在做應用,指針無非是一個指向地址的常量,所有關于指針的操作都是在這個地址上做的操作。
回復

使用道具 舉報

15#
ID:972839 發表于 2022-2-18 14:12 | 只看該作者
指針就是指針啊,提供了一直連續的,可以跳躍式的指向方式,
回復

使用道具 舉報

16#
ID:844772 發表于 2022-2-18 14:33 | 只看該作者
其實地板說的很清楚了,單獨看sizeof(指針),不同指針本身大小都一樣(由計算機的位數決定),但不同類型的指針自己做加減運算時,地址改變量就不同了,C51很少有復雜數據結構,這個差異就很難覺察。我寫個小程序,可以看到不同類型指針,在做加運算和減運算時,地址的增加量是不同的。注意要自己算一下改變量。
#include <stdio.h>
int main(){
    int    a = 123,   *pa = &a;
    double b = 456, *pb = &b;
    char   c = 'a',  *pc = &c;
   
    printf("&a=%#X, &b=%#X, &c=%#X\n", &a, &b, &c);
    printf("pa=%#X, pb=%#X, pc=%#X\n", pa, pb, pc);
    //加運算
    pa++; pb++; pc++;
    printf("pa=%#X, pb=%#X, pc=%#X\n", pa, pb, pc);
    //減運算
    pa -= 2; pb -= 2; pc -= 2;
    printf("pa=%#X, pb=%#X, pc=%#X\n", pa, pb, pc);
   
    return 0;
}
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一区二区三区在线播放视频 | 亚洲精品一区二区三区在线观看 | 欧美黑人狂野猛交老妇 | 精品视频一区二区 | 日本一道本 | 国产精品一区二区三区四区 | 久久亚洲精品国产精品紫薇 | 成人小视频在线观看 | 日韩中文字幕免费在线观看 | 91亚洲精华国产 | 国产精品1区2区3区 国产在线观看一区 | av手机在线免费观看 | 欧美日韩国产一区 | 免费视频一区 | 久久高清| 一级欧美视频 | 91国内产香蕉 | 日韩中文字幕一区二区 | 91影院在线观看 | 国产精品日韩高清伦字幕搜索 | www.色综合| 成人在线一区二区 | 日本一二三区在线观看 | 中文字幕 欧美 日韩 | 一区二区成人 | 久久精品小视频 | 日韩a视频| 久久国产激情视频 | 久久久综合久久 | 国产精品永久 | 欧美日本韩国一区二区三区 | 成人一区二区视频 | 久久久久久久一区 | 91黄在线观看 | 黑人巨大精品欧美一区二区免费 | 天天爽夜夜操 | 日韩精品影院 | 久久国产精品网站 | www.国产视频 | 国产精品久久久久一区二区三区 | 成人久久18免费网站 |