1樓:匿名使用者
。。哎別理他們,什麼記憶體啥的,越弄越亂,
比如你定義一個string型別的變數 可以把這個變數當成一根繩子來拴東西例如:string a="番茄",那麼你這個繩子上栓的就是 番茄 字串嘛。你要找番茄找這根繩子就好了嘛。
但是現在你有很多東西,一根繩子不夠用怎麼辦?那就把你的繩子剪成你需要的段數不就行了(假設這個繩子無限長)
那就是陣列了,sting a["你需要的段數"],
例如:string a = new string[5];5就是說你要的5段了
那麼多段數,你怎麼知道用哪個拴哪個呢?這就要用下標了。
a[0] 就代表第一段,是不是要問為什麼不是a[1]呢,這個是陣列的規定,下標從0開始所以a[0]就代表地一段。
所以你的5段就各自為 a[0]、a[1]、a[2]、a[3]、a[4]這裡沒有a[5]的,想想就知道了,你就剪了5段繩子,都用完了,要用第六段,肯定不行了嘛。
應該理解個差不多了吧?
祝:好運!
2樓:匿名使用者
隨便找本入門的書都講的很清楚
c/c++語言中的指標和陣列我總是理解不了,誰能給我詳細講解一下?
3樓:dl狼狼
陣列就像樓房裡挨著的一個個房間,每個房間裡都是有著相同資料型別的資料訪問陣列元素的下標就像是門牌號
指標就像是一個路標 指向一個地方
用字串給指標賦值的意思是把這串字元在記憶體中的首地址給指標其實陣列名的本質也是一個地址,不過這個地址不允許修改
4樓:匿名使用者
首先你要知道一個變數對應一個地址空間,比如a=1,a是一個變數,那a在記憶體空間裡就有一個地址(比如地址為b),就像一個房間,1代表裡面的人,b就是門牌號。
然後你應該知道int a是用來定義變數的,那如何來定義地址呢?那就用指標int* a。
意思就是想要得到內容就用變數,想得到這個內容所存放的地址就用指標
再然後用int a定義之後,a就代表內容,用&a來代表a的地址。用int* a定義了指標之後,*a就代表內容,a就變成了地址。
至於陣列和指標比較像,比如定義了一個int a[10],那a[0]-a[9]就是內容,這裡要注意,這裡的a就是整個陣列第一個內容a[0]的地址
至於用法用處就比較多了 想更多瞭解可以追問 或者加q
5樓:鎏金閣
再舉個通俗的例子:假設班級舉行外出活動,約定把具體活動地點寫在教室黑板blackboard上。這時,黑板就是指標變數blackboard,黑板中的內容就是索引地址。
同一塊黑板變數,可以改編不同的活動地點,也即指向不同的活動地址。而各地址的活動內容要到當地才能知曉,即*blackboard是指標所指向的真正內容。
6樓:匿名使用者
去學彙編``分分鐘的事情`.
不明白遍歷這個是什麼原理。老師給我講也沒明白。大家能幫我詳細分一下嗎?一步一步怎麼對比的。謝謝啦。
菜鳥學c++語言,關於陣列從小到大排列的問題,我搞不明白為什麼是怎麼算的,請大俠給詳細的講解下演算法。
7樓:倒黴熊
這是選擇排序法
其規則是每次將最小的值排在要排列的前面
也就是先找需要排序的中的最小值找到,然後排在前面。
用專業的話是這樣說的:
首先以一個元素為基準,從一個方向開始掃描,比如從左至右掃描,以a[0]為基準。
接下來從a[1],…,a[9]中找出最小的元素,將其與a[0]交換。
然後將基準位置右移一位,重複上面的動作,比如,以a[1]為基準,找出a[1]~a[9]中最小的,將其與a[1]交換。
一直進行到基準位置移到陣列最後一個元素時排序結束(此時基準左邊所有元素均遞增有序,而基準為最後一個元素,故完成排序)。
例如你說的 9 5 3 6 7
然後選擇第一趟 a=c=0 d[c] = 9 b=1開始 9>d[1]=5 所以 c=b=1, 現在 d[c] =d[1]= 5了,然後內層迴圈繼續
d[c]=5>d[2]=3 所以 c=b=2 現在 d[c] = 3了,然後繼續 b=3 b=4時比較,if條件不滿足,然後將
d[c]與d[a]=d[0]進行交換 ,則 變為 3 9 5 6 7了。
3是明顯滿足條件的,然後將 9 5 6 7 按上面的邏輯繼續排序就可以了,此時 a變成1了,找到 9 5 6 7中的最小位置和d[a]也就是
d[1]進行交換。
8樓:匿名使用者
for (a=0;a<4;a++)
}e=d[a]; // 把最小值d[c]與 d[a]交換一下,讓最小值到前面去。
d[a]=d[c];
d[c]=e; // 這三個是交換用的
} 冒泡或選擇排序。很簡單的一種排序。
9樓:匿名使用者
採用的是氣泡排序;
程式目的是進行由小到大排序;
d[c]>d[b]比較大小,如果成立,則進行交換;
c只是個變數,目的找到比a大的陣列下標。
c#定義陣列的基本概念我有點混亂,誰能幫我講解清楚?
10樓:shine戚七七
一、一維:
int numbers = new int; //不定長
int numbers = new int[3];//定長
二、多維
int[,] numbers = new int[,],}; //不定長
int[,] numbers = new int[2,2],}; //定長
三、例子
a:int mf1=new int[6];
//注意初始化陣列的範圍,或者指定初值; //包含6個元素的一維整數陣列,初值1,2,3,4,5,6
int mf2=new int[6];
b://一維字串陣列,如果提供了初始值設定項,則還可以省略 new 運算子
string mf3=;
c://一維物件陣列
object mf4 = new object[5] ;
d://二維整數陣列,初值mf5[0,0]=1,mf5[0,1]=2,mf5[1,0]=3,mf5[1,1]=4
int[,] mf5=new int[,],};
e://6*6的二維整型陣列
int[,] mf6=new mf[6,6];
四、取得陣列元素個數:
int b;
b = sizeof (a)/sizeof (*a);
11樓:匿名使用者
new char ;//定義了一個名為char1的字元陣列,裡面裝有a,b,c三個字元char char1 = //把上面定義的地址賦值給char1
昨天,你給我的陣列公式
誰能把這道生物題詳細給我講一下,讓我明白,謝謝你們了
講的會講這道題,他懂的呢,他要知道他會給你講明白的,不會的,不能給你講這招會的 求助,這道題的紅筆寫出來的我為什麼沒明白,誰能讓我聽懂,最好畫圖講解一下,謝謝。紅筆寫的只是一個拓展性的結論,與題目所求沒有關係,題目只需要求 0,1 區間的單調性,不需要求 1 1,0 以及 1,的單調性。你如果能理解...
誰能給我詳細講下c 運算子的運算規則,最好能舉例
優先決括號成員第一 括號運算子 成員運算子.全體單目第二 所有的單目運算子比如 正 負 指標運算 乘除餘三,加減四 這個 餘 是指取餘運算即 移位五,關係六 移位運算子 關係 等 等於 與 不等排第七 即 位與異或和位或 這幾個都是位運算 位與 異或 位或 三分天下 十 邏輯或跟與 邏輯運算子 和 ...
誰能給我詳細的介紹下紅酒的歷史與文化謝謝
紅酒是葡萄酒的通稱,並不一定特指紅葡萄酒。紅酒有許多分類方式。以成品顏色來說,可分為紅葡萄酒 白葡萄酒及粉紅葡萄酒三類。其中紅葡萄酒又可細分為乾紅葡萄酒 半乾紅葡萄酒 半甜紅葡萄酒和甜紅葡萄酒,白葡萄酒則細分為乾白葡萄酒 半乾白葡萄酒 半甜白葡萄酒和甜白葡萄酒。葡萄種類方面,釀製紅酒的葡萄種類有sh...