c 字串指標的問題,誰能解釋一下這個輸出嗎

時間 2021-12-22 19:53:39

1樓:匿名使用者

第一行輸出str陣列第乙個元素'h'的位址值,兩個是一樣的

第二行:str是陣列名,可以退化為指標來表示第乙個元素的位址,*&str屬於多此一舉,和str一樣,但是你使用的是%c按照字元來輸出,顯然超出了char的範圍,接下來那個顯示'h',同樣*&連用數多此一舉,所以就是str[0],也就是'h'

2樓:踏飛

第乙個printf

第乙個輸出 &str的型別是 char(*)[6] ,輸出它的結果是這個陣列的首位址

第二個str[0]就是h &str[0]就是h的位址,和第乙個結果一樣

第二個printf

第乙個輸出的是str的位址(str是乙個指標指向h),但你把這位址當字元輸出了

第二個&str[0] 是str[0]的位址,加上* 就是取位址的值就是h了.

其實你第一行三個輸出都一樣

3樓:藍色**

輸出的是 str的首位址

前者依舊輸出位址,後者為第乙個字母、

%c 是有範圍的。

c語言字串與指標的問題,圖中,輸出語句中,string不是位址嗎?怎麼還能輸出內容?

4樓:喵不語

%s就是輸出位址中的字串中的內容!

5樓:我才是淡淡

%s就是根據該位址取值啊,一直到'\0'為止

C語言字元陣列的指標問題,C語言字串指標問題

這個就是看你對指標的理解了 char name 相當於你定義了乙個char 的指標陣列,每個陣列元素指向乙個字串。char name 表示你定義了乙個字元陣列,而你初始化的時候,確實字串,肯定編譯不過的。是不是二維陣列,就看你怎麼理解了,char name 中的name相當於char char na...

C 中的字串指標和陣列問題

你用的vc吧。include using namespace std main 這段 在vc下有警告,但不能執行。但是在codeblocks下編譯執行這段 沒有警告,可正確執行。vc的編譯器老一些了 vc下你改成char q new char 就可以了 這才為p分配了記憶體空間,執行q 0 s 並不...

c語言中的字串指標釋放free問題

1 free函式 原型 void free void ptr 功能 釋放malloc 或calloc realloc 函式給指標變數分配的動態記憶體 標頭檔案 malloc.h或stdlib.h 2 為了避免釋放已經釋放了記憶體的指標記憶體,或沒有釋放記憶體,在c語言中最好是在定義指標時賦初值nul...

c語言的字串宣告問題,C語言的字串宣告問題

簡單說一下 字串陣列是用來存放字串的陣列,在記憶體中佔一段連續的單元。所佔記憶體存放的是字串。定義方法為 char a n n為常量表示式,可初始化。字元指標是指向字元的指標,所佔記憶體單元存放的是所指字元的記憶體單元。定義方法為 char p 完整的解答 1 字元陣列由若干個元素組成,每個元素中放...

C語言關於字串的問題,C語言關於字串的乙個問題。。

你函式的功能是去處非字母字元,也就是刪除空格個!應該輸出itis 字串是自動加上結束識別符號的 0 遇到這個停止,但是輸出列印出來螢幕上看不到 暈,其實很簡單,因為空格就是空格符不是終止符號 0 c為從輸入的資料中取出的乙個字元,不應該是字串。比較是通過ascii編碼比較的。a z對應的ascii編...