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編...