c語言指標(完)

2022-06-21 08:00:10 字數 1545 閱讀 9276

內容概要

一、指標的基本用法

二、指標的工作原理

三、注意的問題

1、指標的基本用法

#include int

main()

2、指標工作的原理

在了解指標的工作原理之前,必須先了解c語言是如何在記憶體中儲存資料的

指標變數儲存的值是其它變數的記憶體位址,也就是指標;指標變數型別必須和指標對應的變數的型別一致,雖然指標變數的型別不同,但是儲存的指標的資料長度是一樣的,可以把指標看作是一種資料型別

指標實現了c語言的間接訪問變數

-與python不同的是,python中先建立值,在將值的記憶體位址賦值給變數

第一步:現在記憶體中建立變數值10

第三步:再在記憶體中建立11

a = 10

print

(id(a))

a = 11

print

(id(a))

#結果發現兩次a的儲存得記憶體位址不同(id不是記憶體位址,它是區別記憶體位址的標識)

-c語言中變數

#include int

main()

//兩次位址是一致的

#include int

main()

//不同變數儲存了相同值,這在python中是不會出現的

is判斷的其實是變數對應的值的記憶體位址是否一致,python中的變數的原理就類似於c語言中的指標

a = 10b = 10

print(a is

b)

3、注意的問題

嘗試直接用字元指標,儲存字串

#include int main(void

)

執行成功,但是有警告

scanf與指標

#include int main(void

)

這樣是不可以執行的

切記不要對未初始化指標的指標變數賦值

#include int

main()

因為定義的指標變數有預設值,這個指標可能指向系統關鍵**,直接複製,將會把關鍵**替換掉

指標必須是其它資料的記憶體位址(可以是變數,可以是字串常量,可以是陣列,可以是函式等等),拿到位址還不夠,想要通過指標間接引用資料和功能,必須告訴指標它所指向的資料的格式,這樣編譯

器在解引用時才知道如何使用得到的值(陣列指標,陣列函式。。。)

***完***

C語言 完數

題目內容 乙個正整數的因子是所有可以整除它的正整數。而乙個數如果恰好等於除它本身外的因子之和,這個數就稱為完數。例如6 1 2 3 6的因子是1,2,3 現在,你要寫乙個程式,讀入兩個正整數n和m 1 n 輸入格式 兩個正整數,以空格分隔。輸出格式 其間所有的完數,以空格分隔,最後乙個數字後面沒有空...

1000以內完數c語言程式 C語言完數程式設計題目詳解

首先看一下完數的概念 完數,即完美數,乙個數如果恰好等於除它本身外的因子之和,這個數就稱為完數。例如6 1 2 3.6的因子是1,2,3 題目概要 請寫乙個c語言程式,要求輸入乙個數字n輸出從1 n範圍內的所有完數,如果有則輸出1 n範圍內的所有完數。如果沒有,則輸出no!解題思路 用乙個雙重for...

C語言完數求解

小白在用c語言求解完數時遇到乙個問題,希望大神能指點一二,謝謝!題目 求1000之內的完數,完數定義 乙個數如果恰好等於它的因子之和,這個數就是 完數 例如,6的因子是1,2,3,而6 1 2 3,因此6是完數。我已經寫出了程式 如下 但是程式會將相同語句輸出多次 如圖1 但實際要求相同語句輸出一次...