91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

c語言指針用法簡單舉例 C51的指針概述

那片星 ? 來源:那片星 ? 作者:那片星 ? 2022-04-22 18:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

指針是C語言的一個特殊的變量,它存儲的數(shù)值被解釋成為內(nèi)存的一個地址。

指針定義的一般形式如下。

數(shù)據(jù)類型 *指針變量名;

例如:
int i,j,k,*i_ptr; //定義整型變量i,j,k和整型指針變量i_ptr。
指針運算包括以下兩種:
(1)取地址運算符。取地址運算符&是單目運算符,其功能是取變量的地址,例如:
i_ptr=&i; //變量i的地址送給指針變量i_ptr
(2)取內(nèi)容運算符。取內(nèi)容運算符“*”是單目運算符,用來表示指針變量所指單元的內(nèi)容,在星號“*”運算符之后跟的必須是指針變量。例如:
j=*i_ptr; //將i_ptr所指的單元的內(nèi)容賦給變量j
可以把數(shù)組的首地址賦予指向數(shù)組的指針變量。例如:
int a[5],*ap;
ap=a; //數(shù)組名表示數(shù)組的首地址,故可賦予指向數(shù)組的指針變量
也可以寫成:
ap=&a[0]; //數(shù)組第一個元素的地址也是整個數(shù)組的首地址,也可賦予指針變量ap
還可以采用初始化賦值的方法:
int a[5],*ap=a;
也可以把字符串的首地址賦予指向字符類型的指針變量。例如:
unsigned char *cp;
cp="Hello World!";
這里應(yīng)該說明的是,并不是把整個字符串裝入指針變量,而是把存放該字符串的字符數(shù)組的首地址裝入指針變量。
對于指向數(shù)組的指針變量,可以進(jìn)行加減運算,例如:
cp--; //cp指向上一個數(shù)組元素
ap++; //ap指向下一個數(shù)組元素
例如:定義了指針類型的形式參數(shù)如下:
uchar *str;
該形式參數(shù)表示一個無符號字符型變量的地址??梢圆捎靡韵沦x值語句:
SBUF=*(str+k); //將單元地址為str+k的內(nèi)容賦給專用寄存器SBUF,啟動發(fā)送
在調(diào)用該函數(shù)時,直接把數(shù)組trdata[]的數(shù)組名作為實際參數(shù)代入即可,因為數(shù)組名表示數(shù)組的首地址,故可直接賦予指向數(shù)組的指針變量。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C語言
    +關(guān)注

    關(guān)注

    183

    文章

    7644

    瀏覽量

    145596
  • 指針
    +關(guān)注

    關(guān)注

    1

    文章

    484

    瀏覽量

    71849
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    指針與函數(shù)詳解

    = a + b; return(p); } 這是一個簡單指針函數(shù)的例子,運行結(jié)果如下,本文代碼在VScode平臺運行,使用方法《使用VScode調(diào)試C語言》。 不過我有個疑
    發(fā)表于 01-23 06:02

    C語言重點—指針

    C語言是比較偏底層的語言,為什么他比較偏底層,就是因為他的很多操作都是直接針對內(nèi)存操作的。 這篇我們就來講解C語言的一大特點,也是難點,
    發(fā)表于 01-22 08:23

    函數(shù)指針介紹

    就是一個指針函數(shù)。其返回值是一個 int 類型的指針,是一個地址。 指針函數(shù)也沒什么特別的,和普通函數(shù)對比不過就是其返回了一個指針(即地址值)而已。
    發(fā)表于 01-21 08:11

    請教一個C語言指針問題,求解答

    C語言指針,多多少少還是有些難度的,容易有些混淆。 請教大家下面的這個表達(dá)式是啥意思呢? short (*p)[size] = (short (*)[size])0x8ff00000; 是否為在0x8ff00000地址處分
    發(fā)表于 01-12 08:14

    C語言指針p、*p、&p、*&p、&*p分別代表什么

    C語言中,指針是非常重要的概念。指針是一個變量,其值為另一個變量的地址。使用指針可以直接訪問內(nèi)存中的數(shù)據(jù),這使得
    發(fā)表于 01-07 07:34

    C語言回調(diào)函數(shù)原來這么簡單

    ” 這個概念,它是回調(diào)函數(shù)能夠?qū)崿F(xiàn)的重要基礎(chǔ)。 1、函數(shù)指針學(xué)習(xí)過C語言的伙伴都知道,C語言中的靈魂 —
    發(fā)表于 12-30 06:45

    請問如何實現(xiàn)C語言訪問MCU寄存器?

    單片機的特殊功能寄存器SFR,是SRAM地址已經(jīng)確定的SRAM單元,在C語言環(huán)境下對其訪問歸納起來有兩種方法。 采用標(biāo)準(zhǔn)C的強制類型轉(zhuǎn)換和指針來實現(xiàn)   采用標(biāo)準(zhǔn)
    發(fā)表于 12-26 07:00

    函數(shù)指針指針函數(shù)的區(qū)別

    = fun(a);   注意指針函數(shù)與函數(shù)指針表示方法的不同,千萬不要混淆。最簡單的辨別方式就是看函數(shù)名前面的指針*號有沒有被括號()包含,如果被包含就是函數(shù)
    發(fā)表于 12-12 06:34

    如何用函數(shù)指針調(diào)用函數(shù)

    (void) { int(*p)(int, int);//定義一個函數(shù)指針 int a, b, c; p = Max;//把函數(shù)Max賦給指針變量p, 使p指向Max函數(shù) printf(\"
    發(fā)表于 12-11 06:26

    C指針的妙用分享

    1、你知道嗎?指針其實是個天生的數(shù)學(xué)家!看這個: #include int main() { int arr[] = {10, 20, 30, 40, 50}; int *p = arr
    發(fā)表于 11-17 06:35

    C語言和單片機C語言有什么差異

    有些擴展,及一些特殊寫法如C51擴展的 data xdata bit sbit一類的,還有一些中斷程序?qū)懛?void int() interrput 1一類的。 2、C是一門高級語言,它需要經(jīng)過編譯成
    發(fā)表于 11-14 07:55

    C語言的printf基本用法介紹

    簡單的例子: printf(\"C語言\"); 這個語句可以在屏幕上顯示“C語言”,與puts(\"
    發(fā)表于 11-12 07:04

    新概念51單片機C語言教程入門、提高、開發(fā)、拓展全攻略

    1.6 單片機的C51基礎(chǔ)知識介紹 1.6.1 利用C語言開發(fā)單片機的優(yōu)點 1.6.2 C51中的基本數(shù)據(jù)類型 1.6.3 C51數(shù)據(jù)類型
    發(fā)表于 04-15 13:57

    51單片機C語言學(xué)習(xí)筆記

    c51語言快速入門
    發(fā)表于 03-24 14:04 ?3次下載

    全套C語言培訓(xùn)資料—PPT課件

    全套C語言培訓(xùn)資料,共427頁,13個章節(jié):C語言概述、程序的靈魂—算法、數(shù)據(jù)類型 & 運算符與表達(dá)式、順序程序設(shè)計、選擇結(jié)構(gòu)程序設(shè)
    發(fā)表于 03-12 14:50