最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言入門篇--變量的左值和右值

 更新時(shí)間:2021年08月26日 12:35:32   投稿:newname  
本篇文章是基礎(chǔ)篇,適合c語言剛?cè)腴T的朋友,本文對(duì)初識(shí)c語言的指針和指針變量做了簡(jiǎn)單的分析,幫助大家快速入門c語言的世界,更好的理解c語言

在看此塊內(nèi)容前可以先看看內(nèi)存及地址相關(guān)內(nèi)容,更容易理解。

1.普通變量

一個(gè)變量是有三個(gè)屬性:

1.變量的空間。

2.變量的內(nèi)容。

3.變量的地址。

空間即若干字節(jié),內(nèi)容即空間里放了什么,地址即變量對(duì)應(yīng)的空間地址。

#include <stdio.h>
int main()
{
	int a = 10;//定義變量a,開辟4個(gè)字節(jié)的空間。
	a = 20;//見下述文字解釋
	int b = a;//見下述文字解釋	
	return 0;
}

一般對(duì)于一個(gè)變量而言在表達(dá)式中的位置就決定了 使用的是變量的空間還是內(nèi)容:

a = 20;//a為左值,用的是a的空間,把20放到a的空間里。
int b = a;//a為右值,用的是a的內(nèi)容,把a(bǔ)的內(nèi)容放到b里。

2.指針變量

看之前可以先看看指針變量有關(guān)內(nèi)容。

2.1初步理解

#include <stdio.h>
int main()
{
	int a = 10;
	int *p = &a;//p指向a,見下述文字解釋
	*p=20;//見下述文字解釋
	int b = *p;//見下述文字解釋	
	return 0;
}

int *p = &a;

//初次定義指針變量p

p為左值,用的是p的空間,此處把a(bǔ)的地址寫入p的空間里,此時(shí)p指向a

如下圖

在這里插入圖片描述

p指向a后,*p=20;和int b = *p; 兩處的*p代表的是a的空間或內(nèi)容,

即對(duì)指針進(jìn)行解引用(*p)代表指針?biāo)赶虻淖兞浚?/p>

此時(shí)*p就是a,但具體用的是變量a的空間還是內(nèi)容取決于它是左值還是右值。

*p=20;//*p為左值,即a為左值,所以用的是a的空間,此處把20放入a的空間。

int b = *p//*p為右值,即a為右值,所以用的是a的內(nèi)容,此處把a(bǔ)的內(nèi)容放入b的空間。

#include <stdio.h>
int main()
{
	int a = 10;
	int *p = &a;//p指向a
	printf("a的地址=%p,\n", &a);
	printf("a的內(nèi)容=%d,\n", a);
	printf("p的內(nèi)容=%p,\n", p);
	printf("p指向的內(nèi)容=%d,\n", *p);//此時(shí)*p為右值,即用a的內(nèi)容
	printf("\n");
	*p = 20;
	printf("a的內(nèi)容=%d,\n", a);
	printf("\n");
	int b = *p;
	printf("a的內(nèi)容=%d,\n", a);
	printf("b的內(nèi)容=%d,\n", b);	
	return 0;
}

在這里插入圖片描述

2.2深入理解

當(dāng)p指向a后,*p就相當(dāng)于a,但指針變量p還是p,有其自己的空間和內(nèi)容。

#include <stdio.h>
int main()
{
	int a = 10;
	int b = 20;
	int *p = &a;//p指向a
	p = &b;//見下述文字解釋
	int *q= p;//見下述文字解釋
	system("pause");
	return 0;
}

p = &b;//p為左值,用p的內(nèi)容,此處把b的地址寫入p的空間,p指向了b,不指向a了。

int *q= p;//初次定義指針變量q,q為左值,用的是q的空間;

p為右值,用的是p內(nèi)容(p經(jīng)過p = &b;語句后,p中的內(nèi)容為b的地址)

此時(shí)指針變量p和q中的內(nèi)容為b的地址,即指針變量p和q均指向b。

#include <stdio.h>
int main()
{
	int a = 10;
	int b = 20;
	int *p = &a;
	p = &b;
	int *q= p;
	printf("b的內(nèi)容=%d\n", b);
	printf("p指向的內(nèi)容=%d\n", *p);
	printf("q指向的內(nèi)容=%d\n", *q);
	return 0;
}

在這里插入圖片描述

以上就是C語言入門篇--變量的左值和右值的詳細(xì)內(nèi)容,更多關(guān)于C語言變量的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C++算法系列之中國農(nóng)歷的算法

    C++算法系列之中國農(nóng)歷的算法

    這篇文章主要介紹了C++計(jì)算中國農(nóng)歷的深入淺析,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧 
    2018-05-05
  • C語言單鏈表實(shí)現(xiàn)多項(xiàng)式相加

    C語言單鏈表實(shí)現(xiàn)多項(xiàng)式相加

    這篇文章主要為大家詳細(xì)介紹了C語言單鏈表實(shí)現(xiàn)多項(xiàng)式相加,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 判斷機(jī)器大小端的兩種實(shí)現(xiàn)方法

    判斷機(jī)器大小端的兩種實(shí)現(xiàn)方法

    第一種方法,思路:利用指針的強(qiáng)制類型轉(zhuǎn)換。第二種方法,思路:利用共用體所有數(shù)據(jù)都從同一地址開始存儲(chǔ)。
    2013-03-03
  • C++的內(nèi)存管理詳細(xì)解釋

    C++的內(nèi)存管理詳細(xì)解釋

    這篇文章主要介紹了C/C++中的內(nèi)存管理小結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-09-09
  • C語言實(shí)現(xiàn)電腦關(guān)機(jī)程序

    C語言實(shí)現(xiàn)電腦關(guān)機(jī)程序

    這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)電腦關(guān)機(jī)程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C++ 兩個(gè)vector對(duì)象拼接方式

    C++ 兩個(gè)vector對(duì)象拼接方式

    這篇文章主要介紹了C++ 兩個(gè)vector對(duì)象拼接方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • c語言中malloc、realloc與calloc 的區(qū)別以及聯(lián)系

    c語言中malloc、realloc與calloc 的區(qū)別以及聯(lián)系

    以下是對(duì)c語言中的malloc函數(shù),realloc函數(shù)與calloc函數(shù)的區(qū)別以及它們之間的聯(lián)系進(jìn)行了介紹,需要的朋友可以過來參考下
    2013-08-08
  • C++實(shí)現(xiàn)將長(zhǎng)整型數(shù)轉(zhuǎn)換為字符串的示例代碼

    C++實(shí)現(xiàn)將長(zhǎng)整型數(shù)轉(zhuǎn)換為字符串的示例代碼

    這篇文章主要介紹了C++實(shí)現(xiàn)將長(zhǎng)整型數(shù)轉(zhuǎn)換為字符串的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • C++對(duì)象的淺復(fù)制和深復(fù)制詳解及簡(jiǎn)單實(shí)例

    C++對(duì)象的淺復(fù)制和深復(fù)制詳解及簡(jiǎn)單實(shí)例

    這篇文章主要介紹了C++對(duì)象的淺復(fù)制和深復(fù)制詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • QT中QChart繪制折線圖

    QT中QChart繪制折線圖

    本文主要介紹了QChart繪制折線圖,Qt Charts基于Qt的Graphics View架構(gòu),其核心組件是QChartView 和 QChart,感興趣的可以了解一下
    2022-04-04

最新評(píng)論

盱眙县| 海原县| 涿州市| 百色市| 凉山| 永胜县| 峨眉山市| 晋江市| 高邑县| 鲁山县| 澳门| 高青县| 乡宁县| 景德镇市| 金门县| 磴口县| 紫阳县| 六安市| 晋中市| 墨江| 黄石市| 蕲春县| 曲靖市| 盈江县| 遂溪县| 正阳县| 潼关县| 钟山县| 杂多县| 浦县| 宝应县| 枝江市| 仲巴县| 辛集市| 荔浦县| 西贡区| 宜宾县| 疏附县| 邯郸市| 安平县| 浦东新区|