1樓:匿名使用者
不動態分配空間,只給個指標值的話,需要輔助的儲存單元char data0,data1,淺拷貝
#include
#include
#define max_chars 100 //假設浮點數轉成字串最大長度是100個字元,可以自己修改
int main()
2樓:匿名使用者
#include
int main()
3樓:林聲飄揚
#include
#include
#include
void main()
;char *str[2];
int i;
for(i=0;i<2;++i)
gcvt(diam[i],5,str[i]); //將浮點數轉換字串並存於指標陣列中,並返回地址
for(i=0;i<2;++i)
printf(
4樓:
#include
#include
int main()
//輸出str
for(int i=0;i<2;i++)
return 0;}
5樓:厲高揚
#include
void tostring(double diam,char* str,int len)
}int main()
//轉化
tostring(diam,str,len);
//輸出
for(i =0 ;i free(str); free(diam);} c語言和c++的指標到底有多難? 6樓:大寺 指標是c語言中比較難理解的一部分了,你可以儘量去理解,不理解也沒關係,c語言是程序導向的語言,現在基本用於系統軟體的開發,相信你以後不會主學c的 。 而其他物件導向的語言沒有指標這個東東的 希望能幫到你 7樓:黎約踐踏 有人說難有人說不難,關鍵你怎麼去理解指標 在我學習的時候就一點兒困難也沒有,反而覺得它非常的好用 學習指標前,你要了解一下記憶體,知道cpu怎麼得到資料 ,那麼一切就easy了 提示一下 指標當作普通變數理解就可以,只是它所儲存的是一個記憶體地址 ,然後你結合 * ,& 的效果一看,指標非常的簡單 8樓:養德亢鴻才 感覺指標不難。主要是他的靈活性會導致軟體崩潰。所以不容許有任何差錯。 c語言中指標的定義問題。為什麼*q加括號? 9樓:匿名使用者 這是一種強制型別轉換,就是將兩個元素強制轉換為*q型別 10樓:冉 這裡就牽涉到標示符的符號的優先順序問題了。 一般來說括號優先順序高於星號。 *p[2] 表示陣列的指標 (*q)[2] 表示指標的陣列 11樓:德昂當 加不加括號,是陣列指標,還是指標陣列的區別*p[2] 是一個指標陣列,首先它是一個陣列,陣列中存的是指標,存指標的陣列。 (*q)[2] 是陣列指標,加括號先與 *結合,它是一個指標,指向一個第一維包含2個元素的2維陣列,存陣列地址的指標。 q=s ; 把 陣列 s 的地址存入 qp[0]=s[0] 把s[0] 第0行的首地址存入 陣列p[0]中 12樓:匿名使用者 (*q)[2]表示一個二維陣列 c語言中的幾個關於* &的指標問題還有建構函式問題(不要扯c++上去了) 13樓:匿名使用者 首先,對樓主的好學好問精神相當讚賞。 對於第一個問題,myadd中傳遞的兩個引數是指標型別,而指標型別的變數中儲存的值是記憶體地址,呼叫此函式時用&就是取對應變數地址之意。注意這* &兩個符號的含義——取指標對應地址的內容和取內容對應的地址。 下一個問題,void意思是該函式結束時不會有返回值,故無return x之說,你要return x,編譯器會報錯的,return 0;則是函式返回值為零,函式定義時是有返回值的,即非void型函式。 第三個問題,因為在函式結束時,函式會釋放它的堆疊,相應的區域性變數(形參)將會釋放掉,但是如果傳的值是指標,函式中改變的內容將與函式堆疊內容無關,修改的是指標指向對應記憶體的位置,故可以作多個修改(傳多個指標,修改多個指標指向的記憶體空間)。 最後一個問題,return的意思是函式返回,只要呼叫這一語句,函式即刻返回,該語句下的所有語句將不會被執行。 最後祝樓主的c語言之路越走越棒!! 14樓:國風地帶 其實這是關於指標的問題。在指標中,int* a表示設定一個指標,指標名字是a,指標指向的變數型別是整形,而光是*a則是表示呼叫呼叫指標所指向的變數的值,而&a則是指指標a在電腦中儲存的地址。例如,int* a;int t=10;a=&t;則a中存入的就是變數t的記憶體地址,a=xcd487(隨便寫的值,指的是t的記憶體地址),同時,雖然a中存入的是t的記憶體地址,但是a也是一個變數,它也有記憶體地址,&a就是取a的記憶體地址,*a==t==10,因為*a取得是a所指向的變數的值嘛。 15樓:匿名使用者 問題的答案樓上的都說了,推薦你好好看下譚浩強的c程式設計,看完後這些問題就明白了 c語言中記憶體指標空間問題 16樓:匿名使用者 str3其實有7個char空間 最後是個\0 str2是有4個char空間 第一種 大的進小的 進不去 或者說想7個人擠進4個人的地方 是不行的 一般程式會崩潰掉 第二種 正好 最後str2和str3一樣了第三種 小的進大的 那麼前四位就被覆蓋了 到/0說明串結束了 5 6 7就成垃圾數了 沒啥意義的東西了 他不屬於這個小串 也不屬於大串了 17樓:匿名使用者 就問題中的3個例子來說,反正一般都是執行時崩潰,就沒什麼區別了…… c++中的指標可以賦值為0,c語言中指標可以賦值為0嗎? 18樓: 可以。只有0有這個特權,無論什麼型別的非常指標,在任何時候都可以直接賦0值來表示這個指標不可用。 關於c++與c語言的結構體指標中的陣列 19樓:鬱_詩 一樓說的對,我補充下吧。 int a[10], *p; 那麼a和&a都是指標,由於最終都指向a[0]這元素的地址,所以值是一樣的,只是型別不同。a是"int *"型,而&a是"int (*)[10]"型(即指向陣列的指標)。 而p和&p的值就不一樣了。前者是」int *「型,後者是」int **「型。 所以你的問題中,ss->a和&(ss->a)的值是一樣的,只是型別不一樣。 這點c和c++都是一樣的。 (注:如果讓p=&a,那麼編譯器會警告或報錯的,因為等號兩邊型別不一樣) 20樓:匿名使用者 struct st *ss; ss是struct st型別的指標,&(ss->a),是取ss->a[0]的地址。 與 int a[10]; int *p = &a; 等同,但對於構造型別指標,訪問成員時,必須使用->操作符。 c++指標與c指標有什麼區別? 21樓:及萍韻漆學 c++裡面的指標可以指向物件 動態申請記憶體的時候用new運算子 c語言的指標指向的是記憶體(不懂物件) 動態申請記憶體的時候用malloc系列的函式 22樓:匿名使用者 對空指標的定義稍有不同 在c語言中:#define null (void*)0在c++語言:#define null 0數字0是唯一允許可以直接賦給版指標的數值 另外權c++中類成員指標等型別是c語言中所沒有的 23樓:匿名使用者 c++中有this指標,用於指向成員函式。c語言沒有 24樓:飛塵 1. 引用必須被初始bai化,指 針不必。du 2. 引用初始化以zhi後不dao 能被改變,指標可以內改變所指的物件。 容3.不存在指向空值的引用,但是存在指向空值的指標。 c++中儘量用引用。個人覺得所有的引用都可以用指標,但指標比引用容易出錯。 引用當然更直觀更直接,做引數時,如果在函式內不刻意要用指標的那些***(如越界訪問,動態定向什麼的),引用可以代替指標 25樓:匿名使用者 c++繼承了c語言指標的特點,與c語言的指標用法相同 26樓:匿名使用者 使用方法是一樣的,不要想太多。 27樓:匿名使用者 沒什麼區別 都是一樣的 指標,全稱為指標變數,是用來儲存記憶體地址的一種變數。程式中,一般通過指標來訪問其指向的記憶體地址中的內容 資料 引用,是c 中提出來的一種新的使用變數的方式,即,給實際變數起個別名,通過這個別名來引用實際的變數。標準c中不支援變數的引用。這兩個概念沒有任何相關性。指標是實實在在的變數,有自己的記憶... int p 宣告一copy個指向int的指標pint a a 3 p a printf d p 列印a的地址printf d p 列印a的值 p 4 改變a的值。printf d a 列印a的值為4 推薦看書 c和指標 這裡最好的回答吧,指標可不是一天兩天能夠學會的 c語言中指標怎麼使用?1 使用場... 指標,太有用了,也最難管理的,好處多的是,比如,函式傳遞,引數是結構時,傳指標可以提高效能 可以通過傳遞和儲存指標,通過資料的相對位置來訪問資料,而不用定義不同的n個變數來,分別使用。比如 int a 10 那麼用a 0 a 9 即可訪問裡面的10個資料,而只需要知道a的地址即可,操作方便,而且在函...c語言中指標和引用的區別,C語言中指標和引用的區別
c中指標怎麼用,c語言中指標怎麼使用
c語言中指標在程式設計中有什麼作用,C語言中指標在程式設計中有什麼作用?