本文目錄一覽:
- 1、C語言中定義變數時在變數前面加2個星號是什麼意思
- 2、c語言 定義數組前加個星號什麼意思?具體說一下。數組指針難道就是這樣定義,初始化的?那數組名就是c
- 3、c語言中,數組名的前面加*, 如a[3][4]; *a輸出的是什麼結果
C語言中定義變數時在變數前面加2個星號是什麼意思
C語言在定義變數時加兩個星號是表明這個變數為二級指針
C語言中在定義變數時使用 * 號是為了表明該變數為指針
指針有分一級指針,二級指針,三級指針等,有幾個 * 號就相當於是幾級指針
c語言 定義數組前加個星號什麼意思?具體說一下。數組指針難道就是這樣定義,初始化的?那數組名就是c
char *ch[4]={“red”,”green”,”blue”};
這句話的意思是這樣,定義一個指針數組ch[4],這個數組裡面每個元素都是指針,這些指針是r、g、b這三個字元串的頭指針,還有一個是指向「\0」的作為字元串的結束標誌。
簡單點說,這樣的定義是定義一個二維字元數組,數組的第一行就是第一個字元串”red”,第二行是”green”,第三行書”blue”,第四行是”\0″。之後就可以用ch[0][1]表示第一個字元串的第2個字母,這裡就是e,ch[1][4]表示第二個字元串的第五個字母,這裡就是n。
c語言中,數組名的前面加*, 如a[3][4]; *a輸出的是什麼結果
由於a[3][4]是個二維數組,數組名是數組的首地址,也是一維a[3]的首地址,也是一維第一個元素a[0][0]的首地址,因此a a[0] a[0][0]三個的地址是相同的,那麼*a在這裡代表什麼呢,*在這裡代表的是取值符,而不是指針符號,由於a是個二維數組,*a代表的是取第一維的首元素,而這裡一維里的元素本身又是一個一維數組,因此在a的第一維中是存放著三個一維元素的首地址,顯然*a取到的就是第一維里第一個元素的首地址了,*(a+1)就是取到第一維里第二個元素的首地址了,你可以建一個一維數組int arr[] = {1,2,3}測試一下,在一維數組中,*arr代表的就是取第一個元素的值,它的值是個int型數值,也就是第1個元素1,而二維數組中的a[3]里存放的是三個元素(3個一維數組)的首地址,因此得出一個結論,二維數組裡的第一維就是一個指針數組,每個指針指向三個元素(3個一維數組)的首地址。從而**a就是取第一維里第一個元素(1維數組)里的第1個元素的值。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/151632.html