
c語言指標題目 在 コバにゃんチャンネル Youtube 的最佳貼文

Search
201506041517[C program] 指標練習題(一) ?程式練習題. 判斷下列程式碼輸出結果. No1. int main(). {. int a=17;. int *c;. *c=a;. printf("c=%d ",*c);. ... <看更多>
C/C++ - 常見C 語言觀念題目總整理(適合考試和面試) | Mr. Opengate2017年8月7日· 一、指標. 指標(pointer):一個指向某個儲存位址的變數,語法為. ... <看更多>
... 以指標的指標來做處理。 C/C++ — 常見C 語言觀念題目總整理(適合考試和面試) ... int (*a)(int); // 一個指向函數的指標,該函數有一個整數型參數並返回一個整數
#2. C語言練習題:指標(C language exercise: Pointer) - 雲林SONG
C語言 練習題:指標(C language exercise: Pointer). 若您覺得文章寫得不錯,請點選文章上的廣告,來支持小編,謝謝。 If you like this post, ...
剛在做題目. 碰到一題要寫函數的,要在主程式裡面設一個Num,要傳指標進去函數裡面,然後每呼叫一次函數,Num就要+1. 所以我在函數裡寫道. *ptr++;.
C語言 :指標練習題(1). 2018-12-18 254 ... (int*)(&a + 1); printf("%d %d", *(a + 1), *(ptr - 1)); system("pause"); return 0; }. 輸出結果為:2; 5. 題目分析: ...
#5. C/C++ - 常見C 語言觀念題目總整理(適合考試和面試) - Mr ...
一、指標. 指標(pointer):一個指向某個儲存位址的變數,語法為. int *ptr ...
Q:請建立C語言的sumTwoArray()函數傳入2個整數陣列的參數(可以不同尺寸), ... 補充一下,看題目好像是說要用指標(不懂這題目在做什麼),如果一定要指標,要在迴圈裡面 ...
#7. [C program] 指標練習題(一) @ AAA :: 隨意窩Xuite日誌
201506041517[C program] 指標練習題(一) ?程式練習題. 判斷下列程式碼輸出結果. No1. int main(). {. int a=17;. int *c;. *c=a;. printf("c=%d ",*c);.
#8. 三道C語言題目,求大神(用指標的方法) - 好問答網
三道C語言題目,求大神(用指標的方法),1樓1 include stdio h int main int argv char argc k 0 for i 1 i n i k k.
#9. C面試考題
int a; // 一個整型數 int *a; // 一個指向整數的指標 int **a; // 一個指向指標的指標,它 ... 註:C 語言之父明確表示C 語言只有call by value。
#10. c語言指標題目在PTT/Dcard完整相關資訊 - 數位感
C/C++ - 常見C 語言觀念題目總整理(適合考試和面試) | Mr. Opengate2017年8月7日· 一、指標. 指標(pointer):一個指向某個儲存位址的變數,語法為.
#11. C/C++之指標(pointer),參考(reference) 觀念整理與常見問題
同樣是面試考題整理這也是我覺得寫得很好的一篇出自: http://sandwichc-life.blogspot.com/2007/10/cc-pointer-reference.html 原文如下.
#12. C語言指標筆試題全面解析 - IT145.com
題目 如圖:總結前言通過8道指標筆. ... C語言指標筆試題全面解析 ... 通過8道指標筆試題的解析,可以充分的複習到指標的相關知識,並且題目中會結合 ...
#13. 【C/C++】【面試】 科技業筆試常考觀念題: 指標(pointer)
Q : 請寫出將會印出的值Ans : 首先,*p = a 代表的是pointer p 指向陣列a的記憶體位置, 而其值也就是該陣列的第一位元,所以此時*p = 1.
#14. C語言指標題目 - 軟體兄弟
指標 (pointer):一個指向某個儲存位址的變數,語法為. int *ptr ...,201506041517[C program] 指標練習題(一) ?程式練習題. 判斷下列程式碼輸出結果. No1. int main(). .
#15. c指標練習在PTT/Dcard完整相關資訊 - 健康急診室
關於「c指標練習」標籤,搜尋引擎有相關的訊息討論:. C/C++ - 常見C 語言觀念題目總整理(適合考試和面試) | Mr. Opengate2017年8月7日· 常見的C/C++ 問題總整理, ...
#16. 國立臺北教育大學102 學年度學士班轉學考試- 學年科- 學系(組)
(以下題目皆以C/C++語言出題,每題答案可能為一個或是多 ... C語言char cName[10]="NTUE”;的宣告,何者描述正確? ... (C) Ary 為雙重指標變數(D)Ary[0][1] 的內容為0.
#17. C語言指標題目 - 酷問答
搞懂運算子的先後次序就很容易辦。關鍵是這句:. while(*s1&&*s2&&*s2++==*s1++). 而該函式的最後結果只是返回兩個字串某處字元的ASCII碼的差值。
#18. 求助大佬,C語言指標程式設計題
C語言指標 程式設計問題,求助大佬,C語言指標程式設計題,求助大佬,1樓小黑哎啊include int main int a 5 5 int p 5 定義一個整型指標p a 指標指向a的 ...
#19. 一個經典的c語言指標問題題目 - 極客派
經典的c語言指標問題題目,一個經典的c語言指標問題題目,1樓匿名使用者for p m 1 p 其中的p m 1並不改變p的值,所以p仍然指向a 0 ,因此, ...
#20. 關於c指標的題,C語言關於指標的一道題。 - 貝塔百科網
關於c指標的題,C語言關於指標的一道題。,1樓漫遊靜心1 定義一個int型二維陣列,會在記憶體中分配一段連續的空間,存放這些數。按照你的定義, ...
#21. C 或C++語言中的指標變數(Pointer Variables),其功能是指..
下ㄧ題. 查單字:關. C 或C++語言中的指標變數(Pointer Variables),其功能是指下列那一種? (A)用來儲存記憶體位址的變數 (B)用來記錄程式執行過程的變數 (C)用來 ...
#22. C語言基本介紹 - 麗山高中
〔迴圈-while〕〔迴圈-for〕〔迴圈-do-while〕〔條件式與迴圈混合題型〕 ... 〔Turbo C 2.0 函數說明〕〔C語言標準函式庫(from:C/C++程式設計範例教本)〕.
#23. 實機練習題
題目 沒要求的,不要多做,不要多加任何空白或空白行。 使用array.txt 中的陣列初始值,撰寫C 語言程式。 程式point1.c 宣告int arr3[] 及指標變數ptr 指到arr3 的位 ...
#24. 繼上一篇面試的三題題目紀錄 - 人森很精彩
上一篇有提到面試考試有C語言的測驗這裡就稍微紀錄一下有考到然後我還記得的題目 ... 然後有幾題是給你一段程式寫出輸出,就是考一些指標和位元運算的觀念,在這裡稍微 ...
#25. Common concept of C/C++ - 資訊人筆記
這邊附上source C/C++ - 常見C 語言觀念題目總整理(適合考試和面試) ... 指標(pointer) 是代表記憶體位置的變數,換句話說,指標也是一個變數,只是這個變數存放的值 ...
#26. C語言程式設計的題目,急!!!(剛上大一
C語言 程式設計(指標)作業啊,急,C語言程式設計的題目,急!!!(剛上大一,大神們不要搞得太複雜),1樓匿名使用者1 include stdio h include ...
#27. 題目
輸入任意兩個在x-y平面的向量(例如3i+4j與5i+6j),利用函式,求此二向量的和。 我的方法. 22, 利用Visual C++ 6.0程式之內建函數如rand, srand, time等函數,讓計算機產生 ...
#28. search:c語言指標考題相關網頁資料 - 資訊書籤
了解c語言指標考題知識都與c語言考古題,c語言面試考題,c語言指標題目密切關係,前天在幫學弟寫程式,寫一個計算機程式,題目如下: 寫一程式模擬簡單的計算機每個資料列 ...
#29. C語言面試題(一) - 程序員學院
參考c程式設計語言(第2版·c語言之父著). 2、void func ( char str[100]). 請計算sizeof( str ) = 【答案】4. 這裡str是指標。
#30. C語言指標題目在PTT/Dcard完整相關資訊 - 萌寵公園
提供C語言指標題目相關PTT/Dcard文章,想要了解更多易春木筆記、C 語言複習、C++ 面試題有關寵物文章或書籍,歡迎來萌寵公園提供您完整相關訊息.
#31. 面試考題-C語言
指標 ; int main(){ ; int a[] ={1,2,3,4,5,6}; ; int *ptr = (int*) (&a+1); ; printf("%d", *(ptr-1));
#32. 指標基本題-數偶數 - 檸檬的C語言初學日誌
#include <stdio.h> #include <stdlib.h> #include <time.h>. int total=0,i,h; int x[21];. int countEven(int*a, int len){ srand( time( NULL ) );
#33. 一道c語言題,一道c語言題目 - 櫻桃知識
一道c語言題,一道c語言題目 ... 是c語言中定義指標的,如*p可以是一個指標指向某個資料,p=&a,表示指標指向a這個變數,*. 還有取指標資料的.
#34. C語言: 超好懂的指標,初學者請進~ | 健康跟著走
常見的C/C++ 問題總整理,增強C 語言觀念並練習一些題目,努力脫離考試苦海吧! ... 也可用於函數變為函式指標(function pointer),語法為., 事實上,函式指標還能讓C ...
#35. 關於c語言程式中指標的一道選擇題 - 第一問答網
關於c語言程式中指標的一道選擇題,1樓匿名使用者首先懷疑你的程式有筆誤,估計你把point p 寫成了point 了這樣的話,你的題目就變成這樣了point cha.
#36. C語言經典例題100
題目 :輸入3個數a,b,c,按大小順序輸出。 程式分析:利用指標方法。 程式原始碼:. /*pointer*/ main ...
#37. 【程式設計】C語言範例100題 - 科技始終來自於人性- 痞客邦
1.程式分析:利用while語句,條件為輸入的字元不為'n'. 2.程式源代碼: #include "stdio.h" main() {char c; int letters=0, ...
#38. 求解答C語言中指標問題真的求,搞不懂
c語言指標 變數方面的填空題,求大神解答? 12樓:自我程式設計. 1,scanf("%d",&a[0][0]);.
#39. 關於C語言指標的一道入門程式設計題 - 迪克知識網
關於C語言指標的一道入門程式設計題,C語言指標簡單的程式設計題5,1樓匿名使用者include include void input int array printf n輸出10個數理前n for.
#40. 「c指標考題」情報資訊整理
愛呷宜花東「c指標考題」相關資訊整理- 跳到0x02 指標— 像C 語言中並沒有String 型別,因此會使用字元指標char* str 或字元... 網路上看到的瑞昱面試考題, ...
#41. C語言程式設計: 入門與實務演練(第3版附範例光碟) | 誠品線上
23個實務程式演練題目的選擇,是作者20年來在大專院校資訊相關系所授課的經驗,所挑選出適合初學者學習(足夠簡單、易於理解),但具有未來拓展性的應用題目。相信這些實務 ...
#42. 223. 【C 語言入門】23.2 - 指標與陣列-23. 1 連大雄都會的題目
23. 1 連大雄都會的題目。听TED演讲,看国内、国际名校好课,就在网易公开课.
#43. c語言程式設計題目採用指標形變數作為形 - 嘟油儂
c語言 程式設計題目採用指標形變數作為形,1樓匿名使用者include void swap int a int b void main c語言程式設計,使用指標做為函式引數,編寫.
#44. LeetCode解題記錄(雙指標專題) | IT人
對於C++ 語言,指標還可以玩出很多新的花樣。 ... else { --r; } } // 這裡是因為題目要求下標從1開始 return vector<int>{l + 1, r + 1}; } };.
#45. 《程式設計概要》 - 高上公職
第二題:指標是我們上課時強調在C語言的重點,也特別說明出題的方式,完全命中上課所提醒的考試題型。 第三題:本題是第一次出Java的題目,剛好就是上課所介紹的物件 ...
#46. C語言指標函式的問題。為什麼這道題fun函式不會改變變數的值 ...
C語言指標 函式的問題。為什麼這道題fun函式不會改變變數的值?函式形參不是取得地址嗎,1樓匿名使用者因為交換的並不是值,而是指標。而指標本身是傳的 ...
#47. 經典指標面試題詳解(上)_其它 - 程式人生
技術標籤:指標c語言面試學過C的大都認為,指標是一個讓人極其頭疼的點;今天,就由我帶大家領略幾道指標的面試題。
#48. C – 跟著節奏搖擺的工程師
C Language Note Class6-指標pointer&動態記憶體配置 ... 做為您猜的答案不需檢查使用者輸入之格式當輸入之答案與題目相同, 程式結束(輸出:You Win!)
#49. C語言指標題目- 呂先生- 地點不拘打工職缺 - 小雞上工
【幫忙事項】:C語言指標題目,請見圖片【交付方式】: 匯款【注意事項】:需要用visual studio撰寫#防疫救星- 呂先生| 到小雞上工看更多地點不拘打工.
#50. 2. 參考網站C 語言考古題& C 的解題程式設計學習入門( 網址: c ...
壹課程說明單元名稱單元摘要C 語言: 進階資料型態1. 認識陣列(Array) 2. 認識結構(Structure) 3. 認識指標(Pointer) 設計者劉洲溶教師( 國立台中二中) 1.
#51. C/C++ 程式設計
語言 ,遠比Java 靈活,所以面試考題絕大多數以C/C++ 為主(或者是兩套試題, ... 上面的步驟就是將一個unsigned int 型的指標強制轉換成一個char 型的指標。
#52. c語言教學篇[BoHann]
結構(結構搭配指標,可以做資料結構的題目). 宣告一個結構. 命令列參數(執行程式的時候帶參數,現已不多見)(命令列參數). 檔案處理(讀檔輸入的題目似乎不多見, ...
#53. C語言選擇題指標的引用怎麼看? - 輕鬆奔跑
C語言 選擇題指標的引用怎麼看? Home / Q&A. 2021-06-24 08:03; 还单身与大船; 2個回答. 若有定義int a〔〕={0,1,2,3,4,5,6,7,8,9}*p=a i;A.*(p+i) ...
#54. 程式設計學習入門: C語言小考
學習C語言的不二法門,就是從寫程式解題開始,這裡的考古題由淺而深,循序漸進,對初學者甚有助益。 ACM 協會針對每年程式設計比賽的練習需求,建立一個線上的題庫與評分 ...
#55. C語言-八道筆試題由淺入深玩轉指標 - tw511教學網
C語言 -八道筆試題由淺入深玩轉指標. 2021-09-14 20:00:01. 前言:本文章將帶你刷8道比較有意思的指標筆試題,筆者將由深入淺出解析這些題目!必要的題目,作者已經加上 ...
#56. C語言測試應知道的0x10個基本問題
有了這些想法,我決定出一些真正針對嵌入式系統的考題,希望這些令人頭痛的考題能給正在謀職的人一點幫住。這些問題都是我這些年實際碰到的。其中有些題很 ...
#57. 【問題】C語言初學者指標排序- 程式設計板 - 巴哈姆特
對於指標這塊很弱網路上查跟學都還是不會想請教大神這怎麼寫題目如下只能使用指標的情況下使用者輸入10個數字後單(大-小排序) 雙(小-大排序) 後 ...
#58. C語言指標型別重要性 - 程式前沿
C語言 中,帶上型別運算是一個很好的習慣。我們來看一道題目。若定義 char a[3][3]={"ad", "ce" , "fb"}, *s = (char *)a; 那麼下列表示式語法正確, ...
#59. 一道c語言題,求解答,謝謝啦,求解一道c語言題 - 知識的邊界
d選項,p無法表示陣列a元素的地址,p是一個指標陣列,從它取一遍才能得到陣列a元素的地址。 求解一道c語言題. 2樓:熱情的張大山. 函式fun中有c,但是那個c ...
#60. [面試考題] C/C++ - 一個小小工程師的心情抒發天地
上帝幫你關了一扇門,就會幫你開一扇窗, 所以,我打算幫準備寫考卷的你/ 妳開一扇窗, 我將答案放在我的blog裡面, 如果你有看到,請背起來, 這樣你期待薪資的地方, ...
#61. Re: [問題] 指標和雙重指標考題- 看板C_and_CPP
以下是昨天晚上作夢夢到的,夢到某位學生對這題有興趣, < 小弟講指標的講義有講到類似的東西> 所以大致講一下這是什麼情形。
#62. 一些指標與地址題目 - 有解無憂
本篇梗概; 一、大小端; 二,指標與地址的一些題目; 總結 ... 因為&a取的是整個陣列的地址,而strlen只能用來求字串,由于C語言中沒有字串型別,字串只 ...
#63. (原創) 一個關於C語言字串有趣的小題目(C/C++) (C) - 博客园
這是學弟的家庭作業,一個關於C語言字串有趣的題目。 ... 先對s指標取值,取完後指標+1,初學者一定很不習慣這種寫法,但這已經是C語言的文化之一。
#64. C 語言進階學習:工程師必學的「指標」— Udemy 課程心得
Advanced C Programming: Pointers 這門Udemy 課程,教學指標、記憶體位址、與記憶體分配,讓你徹底學會C 語言指標的重要觀念,這門課讓我覺得C 語言 ...
#65. 為什麼我連到簡單題目都要想一整天?明明程式碼量很少的題目
明明程式碼量很少的題目,我的程式碼要比別人多得多? ... 第四,多寫大程式碼,2K以上的大C語言程式,提高結構駕馭,變數,指標駕馭能力.
#66. [C/C++] 讓你減少錯誤的3 個指標使用技巧 - BoB 團
1. 更好的指標宣告. 一般來說,我們在學習C 語言的時候,老師總是這麼教.
#67. c語言練習
C語言 :指標練習題(1) C語言:指標練習題(2) C語言基礎練習題c語言試題100道(前三十道) c語言迴圈練習題1003:C語言考試練習題—保留字母1004: C語言 ...
#68. c 面試指標C語言簡易面試重點 - QWVATK
C /C++ 筆試,面試題目彙總 7. “引用”與指標的區別是什麼? 指標通過某個指標變數指向一個物件後,對它所指向的變數間接操作。程式中使用指標,程式的可讀性差; 而引用 ...
#69. C語言程式設計題,題目自帶的那些內容看不懂,求講解 - 優幫助
一共迴圈4次。 因此輸出為"abcdbcdcdd". 6樓:遂自薦. s是什麼,是指標,就相當於char *s="abcd",for迴 ...
#70. 第5章、陣列和指標 - C/C++
指標 (pointer)是一種用來指示資料存在於記憶體中的位址標示器,其宣告方式為資料型別*變數名稱; 資料型別通常是基本的資料型別,如int, float, char等,變數名稱與一般變數 ...
#71. C/C++ - 常見C 語言觀念題目總整理
常見的C/C++ 問題總整理,增強C 語言觀念並練習一些題目,努力脫離苦海吧! ... 也可用於函數變為函式指標(function pointer),語法為 常用的地方如下.
#72. 程式語言C 範例試卷
程式語言C 範例試卷 ... 請依題目指示儲存於C:\ANS. ... 四、指標. 1. 作答須知:. 請開啟CPD04.txt,依設計說明修改錯誤的程式碼,程式碼請直接修改不.
#73. 就地(不用額外記憶體)把字串反向 - 石頭閒語
那道題目是「就地(不用額外記憶體)把字串反向」。同事不熟C 語言,不了解作者為何說不懂指標的人,解這題一定會錯。所以跑來問我。
#74. #問C語言指標陣列 - 3C板 | Dcard
剛在寫程式題目有一題是這樣:用一個5*5的陣列輸入25個數並計算這25個數的總和,(提示:使用指標),底下是我的程式碼:#include ,#include ,int ...
#75. 2021年計算機二級C語言應該怎麼準備? - 小熊問答
1、選擇題:40題,每題1分。按標準答案給分。 2、程式填空題:3處空,每空6分,共18分,按 ...
#76. C語言題目
其他用戶還看了: · 笨辦法學C 練習5 一個C程式的結構 · object c 基礎十二NSString · Objective C 初始化方法 · 《C程式設計語言》 · const與指標(c語言) ...
#77. [C/C++] 指標相加= ?or 相減= offset - 小惡魔
最近看到網路上討論C/C++ 題目,某公司主管給新進人員面試的C/C++ 考題,如下: 1 2 3 4 5 6 7 8 int main(void) { int *a,*b; a=1; b=1; ...
#78. 【C 語言入門】21.2 - 指標變數宣告與取址運算- YouTube
#79. (C) 簡單搞懂指標(pointer)、指標陣列(pointers of array, int *foo ...
// 宣告一個int指標變數,其初始值為NULL int *ptr; // 配置5個int大小的記憶體位址給ptr,並將第一個位址存進ptr中 ptr = (int*)malloc( sizeof(int) * 5 ); ...
#80. C語言這裡為什麼不能將指標指向的值賦值到變數上?
這樣就實現了一步的交換。 #include <stdio.h>. int main(). { int a,b,c;. int *d,*e,*f,*g;. printf("請輸入三個數:");. scanf("%d%d%d",&a,&b,&c); ...
#81. C 語言測試: 指標 - 小狐狸事務所
使用指標處理字串較方便. 事實上, 許多C 語言內建函式內部都是使用指標實作的. 以下的測試程式我參考了下列 ...
#82. 一道簡單的c語言題要的不只是答案。(13)
這道題目應該是想通過函式指標呼叫函式fun。首先函式指標的定義就出錯了。你題目裡面的f1應該就是一個函式指標,但是它的定義應該這樣char (*f1)(char *)= ...
#83. C語言問題這道題為什麼選D啊,求詳細解釋 - 溫柔問答
你好!幾個關鍵點:. %是求餘數. if判斷數字時0是False,非0是True. 字元直接加數字表示表ASCII加多少位,字母就理解直接"a"+1 = "b"這樣吧.
#84. 書籍「C 語言教學手冊第四版」練習題我的解答,約於2016 年 ...
這是書籍「C 語言教學手冊第四版」中程式設計練習題我所給出的答案。 由於是初次接觸C 程式語言且為自學,解題的概念(或稱意圖) 呈現時,可能會有那麼一點不漂亮。
#85. 一道C語言中關於字串指標的題目; - 自信小站
1內填:s[j++]=s[i];. 2內填:s[j]="\0";. 在這個例子中,i和j不是真正的指標變數,只是一個有著指標作用的下標。 程式的原理是對s內的各字元,讀 ...
#86. 常見C/C++ 語言觀念題目總整理(考試和面試) - 量子格
(非從零開始,適合稍有C/C++ 基礎的人閱讀。) 一、指標. 指標(pointer):一個指向某個儲存位址的變數,語法為 int *ptr = &var ...
#87. C(程式語言) - 相關提問 - 希望QA
用c語言編寫猜謎語程式,求幫忙 ... 不加()的話就是一個指標陣列,每一個元素均為short*指標,其本質為陣列,加了 ... 這個C語言題目,幾個地方不理解,說明下謝謝.
#88. C/C++ 常見面試題整理 - ITW01
尤其是C++11,C++14,C++17越來越豐富了C++語言。C++修煉要比Java及C#要長 ... 【參考答案】: 防止記憶體洩露,正確析構指向派生類例項的基類指標。
#89. [筆記] C/C++ 常考題目 - 資訊猿
前指標指的內容不可變動,後指標不可變動; void dp()const; \\我不會更改成員; const int* op() const{ ...
#90. 以100 分計
首先是宣告部分,a, b, c 都是pointer of integer,d 是integer。 ... 的部份,在型別嚴格判定的C++ 中,會有型別錯誤(int* 不能轉換成int),在C 語言.
#91. 指標c
C 語言 中特有的指標,可以透過記憶體映射的方式直接控制硬體,這也是為什麼C 語言 ... 常見的C/C++ 問題總整理,增強C 語言觀念並練習一些題目,努力脫離考試苦海吧!
#92. C語言題目,關於指標 - 多問
C語言題目 ,關於指標 ... 假定p所指物件的值為25,p+1所指物件的值為46,則執行"(*p)++;"語句後,p所指物件的值為___。麻煩給我詳細的解答過程,謝謝。p+1所指物件的值為46 ...
#93. c 語言題目[C語言] - Liudong
c語言 :有趣的指標題目剛在做題目碰到一題要寫函數的,switch 題目 」> · PDF 檔案※ 請務必在題目上劃解題重點,就能不斷進步。 C/C++ – 常見C 語言觀念題目總整理( ...
#94. c語言程式設計題目全班同學排成6排,A、B、C、D - 問答酷
#include<stdio.h>. void main(). {. int i,j,k,l,m,n;. for(i = 1; i <= 6; i++). for(j = 1; j <= 6; j++). for(k = 1; k <= 6; k++).
#95. 用指標。例如輸入kljslkjlk*sksjsl*js*kjal。 - 明白區域
C語言 的一道題目,用指標。例如輸入kljslkjlk*sksjsl*js*kjal。 最後輸出的結果為*sksjsl*js*。就是將第一個*前的內容去掉以及最後一個*後面的內容 ...
#96. C語言: 超好懂的指標,初學者請進~ - 寫點科普Kopuchat
等等,那C 語言中的指標是長什麼樣子? 讓我們來看看這段程式碼: void main(){ int a = 15; int b = 2; int c = 39; ...
#97. NEW GEPT 全新全民英檢中高級聽力&閱讀題庫解析 - 旋轉拍賣
指標 的藝術第二版作者:蔡明志 ... C語言教學手冊第四版 ... 外觀維持良好內頁完整未在題目本上寫答案少部分有些許筆記如圖三、四(主要集中在前兩回 ...
c語言指標題目 在 Re: [問題] 指標和雙重指標考題- 看板C_and_CPP 的時間交通和停車住宿
以下是昨天晚上作夢夢到的,夢到某位學生對這題有興趣,
< 小弟講指標的講義有講到類似的東西 >
所以大致講一下這是什麼情形。
這題寫法我不知到底合不合標準(是有幾個不完成合標準沒錯,只是一般人這麼用),
所以有幾個 基本假設 先講清楚。
(1) CHAR_BITS = 8
(2) sizeof(char) = 1 < 這不是基本假設了, 是規定 >
(3) sizeof(int) = 4
(4) machine memory platfrom is "little endia"
(5) Project using Release Mode, not Debug Mode.<depends on compiler>
(6) 二補數系統
若這是練習題的話,上面五個假設應是基本要有的。
最後如果你「運氣不好」跑得出結果,請別認為是好事,
該想一下有沒有辦法讓編譯器處理這種壞習慣,
這題目只存在於面試考觀念而已。
: 我最近寫題目 寫到一題
: 不知道答案是什麼 自己用 VC跑 竟然跑不出來
你原本的程式碼有一處是筆誤的,在 VC 下不是「跑不出來」,
而是「無法編譯」、「編譯錯誤」,下次直接把錯誤敘述清楚。
※ 引述《SNSDpk5566 (5566 超強)》之銘言:
: char d[3] = {100,200,300};
: int *p = &d;
: int **pn = &p;
假設前三行記憶體內容如下,記憶體編碼應用 8 碼較合適,唯說明以四碼。
┌────┬────┬────┬────┬──┬───┬───┐
Addr│0x1200 │0x1201 │0x1202 │0x1203 │... │0x1300│0x1304│
├────┼────┼────┼────┼──┼───┼───┤
Var │ d[0] │ d[1] │ d[2] │ ???? │... │*p │**pn │
├────┼────┼────┼────┼──┼───┼───┤
內容│ 100 │ 200 │ 300 │ ???? │... │0x1200│0x1300│
└────┴────┴────┴────┴──┴───┴───┘
hex 0x64 0xc8 0x2c 0xbf
< 這個 byte 數值是假設的 >
上面張圖可以講很久了,
(1) d[2] = 300, 一個 signed-byte 最多只能存 -128~+127,這已經溢位了,
實際上存多少?不知道,但一種「可能」的數值是 (300-256 = 44),
但無論如何,它不會把溢位多出的部份存到 0x1203。
(2) d[1] = 200, 這也溢位了, 範圍不在 -128~+127,實際上「可能」的數值是
(200-256 = -56)。
(3) 不論 d[1], d[2] 問題,我們都以 16 進位示之,原因是存在 memory 都是二進位,
無關正負號。
(4) 當寫下 *p = &d , 或 *p=(int*)d 的時候,由於 *p 本身是「整數」指標,所以
p 指向記憶體範圍是從 0x1200~0x1203,也就是說,它會用到第 4 個 unknow byte,
上面假設,在記憶體裡面是 0xbf,那問題來了,
printf("%08x\n", *p);
答案是多少?
它不是 0x 64 c8 2c bf, 由於是 little-endian 的關係,所以 *p 會被解讀成
0x bf 2c c8 64
: *p-=1;
所以 *p-=1, 會變成 0xbf 2c c8 63,以這例子而言,
實際上就是將 d[0] 扣 1 ,記憶體如下
┌────┬────┬────┬────┬──┬───┬───┐
Addr│0x1200 │0x1201 │0x1202 │0x1203 │... │0x1300│0x1304│
├────┼────┼────┼────┼──┼───┼───┤
Var │ d[0] │ d[1] │ d[2] │ ???? │... │*p │**pn │
├────┼────┼────┼────┼──┼───┼───┤
內容│ 99 │ 200 │ 300 │ ???? │... │0x1200│0x1300│
└────┴────┴────┴────┴──┴───┴───┘
hex 0x63 0xc8 0x2c 0xbf
上述可知,其實完全動不到未知的第 4 個 byte, (Address 0x1203),
所以印出 printf("%d", *p); 的時候會是未知的, 關鍵在於 0x1203 多少不確定,
但前 3 bytes 變化是可以「粗略估計」的,就像上面流程所述。
故這時候如果要問我 *p 是多少,我的回答是 0x??2cc863
至於到目前為止,compiler 真的可以那麼順利讓它轉過去嗎?
oh, 不一定。已知一些 compiler 在 debug 時會用 hex speaker,
去檢查使用者寫的程式碼有沒有用到非法空間,如果有做這層檢查的話,
上述在做 int *p = (int*)&d ; 轉型的時候就會失敗了。
然而開啟 release mode (-o2) 時,這個不會再自己去檢查是不是寫到非法空間,
所以 "有機會" 可以轉型成功,反正最後 "以這個例子" ,並不會影響到第 4 個 byte,
會影響到第4個 byte 的情況有兩種:
<a> 電腦為 little-endian (一般假設),且 d[0]~d[2] 全都是 0,
所以減法造成了減法上的借位,這時才動用了 0x1203 之內容。
<b> 電腦為 big-endian 時就一定會動到 0x1203 這個 value。至於 Mixed-Endian、
Middle-Endian 小弟沒研究,就不多贅述了。
: p = &d[1];
這行改變了 p 的內容值,記憶體內容變如下。
┌────┬────┬────┬────┬──┬───┬───┐
Addr│0x1200 │0x1201 │0x1202 │0x1203 │... │0x1300│0x1304│
├────┼────┼────┼────┼──┼───┼───┤
Var │ d[0] │ d[1] │ d[2] │ ???? │... │*p │**pn │
├────┼────┼────┼────┼──┼───┼───┤
內容│ 99 │ 200 │ 300 │ ???? │... │0x1201│0x1300│
└────┴────┴────┴────┴──┴───┴───┘
hex 0x63 0xc8 0x2c 0xbf 0xcc
: **p+=1; **pn+=1;
這行我認為是筆誤寫錯,應該是要寫 **pn+=1 才對,
不然會造成編譯錯誤。分解步驟:
pn --> 取到 pn 的內容,0x1300。
*pn --> 取到 (0x1300) 的內容,0x1201。
**pn --> 取到 (0x1201) 的內容,。
至此,**pn 得到是一個 int, 所以從 0x1201 往後提出 4 bytes 出來,
也就是 0x1201~0x1204 的值,以 little-endian 去解讀,
無奈 0x1204 我們也不知道,只好暫時先假設成 0xcc 了,
little-endian 解讀出來後就變成 0xccbf2cc8 ,最後一步..
**pn+=1 --> 將 (0x1201) 的內容 0xccbf2cc8 取出來,做+1動作得 0xccbf2cc9,
再以 little-endian 方式放回到 (0x1201) 裡面去。
┌────┬────┬────┬────┬──┬───┬───┐
Addr│0x1200 │0x1201 │0x1202 │0x1203 │... │0x1300│0x1304│
├────┼────┼────┼────┼──┼───┼───┤
Var │ d[0] │ d[1] │ d[2] │ ???? │... │*p │**pn │
├────┼────┼────┼────┼──┼───┼───┤
內容│ 99 │ 201 │ 300 │ ???? │... │0x1201│0x1300│
└────┴────┴────┴────┴──┴───┴───┘
hex 0x63 0xc9 0x2c 0xbf 0xcc
一樣,這個時候如果問我 *p , **pn 是多少的話,
我的回答是 0x????2cc9,變前 2 bytes 不確定。
: p--;
: 求 *p , **p, d[0] d[1]
最後的解讀就看 printf 輸出格式怎麼處理,就算知道記憶體長怎樣,
輸出格式亂搞還是會得到不同結果,故認為題目就只有寫
求 *p , **p, d[0] d[1]
個人認為是不夠的,printf 格式寫出來才有繼續討論的必要。
----------------------------
以上敘述若有誤、或不盡理想的部份,歡迎指正,感謝收聽。
--
「自從我學了 C# , 人都變聰明 , 考試都考一百分」
「自從我學了 VB , 皮膚都變好 , 人也變漂亮了 」
「自從我學了 Java , 明顯變壯 , 個子也變高了 」
「自從我學了 C++ , 內分泌失調 , 頭都禿了... 」
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.177.76.161
※ 編輯: EdisonX 來自: 180.177.76.161 (09/14 22:43)
... <看更多>