當前位置:首頁 » 編程語言 » c語言數組指針初始化

c語言數組指針初始化

發布時間: 2022-02-24 05:25:54

⑴ 關於c語言: 初始化一個指向數組的指針變數為什麼不需要&符號

C語言裡面,數組名就是第一個元素的地址,所以可以直接把數組名賦值給一個指針,不需要取地址。

⑵ c語言中,聲明一個指針數組,char *s[1024 ] ,但並沒有對它初始化,那它裡面的都是空指

空指針是要初始化為0或賦值為0的指針,沒有初始化的話,它就是個隨機地址。

⑶ C語言的char指針初始化理解

char 指針,也就是char *類型。 其初始化本質上與其它變數初始化沒有什麼區別,就是賦予其一個初始化的值。
對於指針來說,在C語言中,就是一個地址。區分初始化情況,有四種表象:
1 初始化為空。即
char * str = NULL;
的形式,NULL在C語言中是特定的空指針,其值為0.在C語言中,以NULL作為指針的一個未生效狀態,其本身是一個非法的地址值。

2 初始化為常量字元串地址。
char * str = "test";
常量字元串在運行時會被放在常量空間中,於是這樣初始化後,地址是常量空間中的一個地址,對於該地址只能讀取,不可寫入。即str的值可以改,但是str指向的值是不可修改的。

3 初始化為變數地址。
這里的變數地址,包括全局變數,局部變數的地址,以及通過動態分配申請到的內存地址。
這種情況下,對指針指向的空間是可以修改的。

4 不做初始化。
這種情況在C語言中是允許的。如果為全局變數或靜態局部變數,系統默認初始化為0值,即NULL。而對於局部變數,將是一個隨機值。所以如果是局部變數不做初始化,在取其指向空間值前,必須為其指定一個合法的值,否則訪問會出錯。

⑷ C指針數組的初始化

你的問題里「最為」是作為吧。
你可以這樣,使用malloc這個函數,去向內存申請16X16
int類型那麼大的空間出來。但是,這么申請完成一後,想往裡寫數據就不能使用數據下標的方法去寫數據了,需要計算出int類型號的大小用手動的方法寫入。還有一個malloc申請出來的空間是一個一維的空間,如果你想往2行2列里寫就需要轉換了。我只是給你了一個具體的方向,後面的事你就需要去自己想辦法了。

⑸ c語言指針初始化

注意了,a只是一個雙重指針,不是數組。還有new這個東西是C++中的。C中用malloc分配內存,再初始化。

⑹ C語言 如何初始化指針數組 比如char *dd[5]

char 指針,也就是char *類型。 其初始化本質上與其它變數初始化沒有什麼區別,就是賦予其一個初始化的值。
對於指針來說,在C語言中,就是一個地址。區分初始化情況,有四種表象:
1 初始化為空。即
char * str = NULL;
的形式,NULL在C語言中是特定的空指針,其值為0.在C語言中,以NULL作為指針的一個未生效狀態,其本身是一個非法的地址值。
2 初始化為常量字元串地址。
char * str = "test";
常量字元串在運行時會被放在常量空間中,於是這樣初始化後,地址是常量空間中的一個地址,對於該地址只能讀取,不可寫入。即str的值可以改,但是str指向的值是不可修改的。
3 初始化為變數地址。
這里的變數地址,包括全局變數,局部變數的地址,以及通過動態分配申請到的內存地址。
這種情況下,對指針指向的空間是可以修改的。
4 不做初始化。
這種情況在C語言中是允許的。如果為全局變數或靜態局部變數,系統默認初始化為0值,即NULL。而對於局部變數,將是一個隨機值。所以如果是局部變數不做初始化,在取其指向空間值前,必須為其指定一個合法的值,否則訪問會出錯。

⑺ C語言數組的初始化表示方法

不是inta[] 而是例如int a[10]這種。括弧內一定要有個常量數字。

我們可以這樣定義

#define N 5

int a[N]

這表明了數組名為a;數組有5個元素;分別是a[0]到a[4];

對於數組來說;數組是變數的集合,因此數組也具有與變數相同的數據類型和儲存類型。數組的類型就是它所有的變數的類型。在定義數組時,應在數組名前對數組的類型加以確定。如上面的int a[10];則表明了數組內元素均為整形。

所有當表示浮點型可以定義為例如float a[10]。 舉例如下:

(7)c語言數組指針初始化擴展閱讀

數組名是由用戶命名的C語言標識符,要遵循標識符命名規則。數組名表示數組存儲區域的首地址。數組的首地址也就是第一個元素的地址。數組名是一個地址常量,不能對它賦值。

數組名後是由方括弧括起來的常量表達式,不能使用其他括弧

⑻ c語言 未初始化的指針與指針數組的問題

int* p 是定義了一個指針變數,變數沒有初始化的話,是不可以引用的,但是定義指針數組時(把*去掉也可以的),就已經給這個數組分配了一個地址(p[0]的地址)和相應的內存(由類型和元素多少決定)。至於為什麼地址一樣,舉個例子,你定義兩個字元串指針,指針指向的是同一串字元,你會發現兩個指針的地址也相同。應該能幫你解決一部分問題,地址一樣的問題我也是半懂,抱歉。

⑼ c 語言中的數組指針可以被初始化為空指針嗎

任何指針都可以初始化為空(NULL),如果指針是變數的話,還可以賦值為空。
比如:
int*
p0
=
NULL;
//
整型指針初始化為空
p0
=
NULL;
//
賦值為空
-------------------
void
(*p1)
(int)
=
NULL;
//
函數指針初始化為空
p1
=
NULL;
//
賦值為空
-----------------------
int
a[20];
//
數組
int
(*p2)[20]
=
&a;
//
數組指針初始化為數組地址
int
(*p3)[20]
=
NULL;
//
數組指針初始化為空
p2
=
NULL;
//
賦值為空
p3
=
NULL;
//
賦值為空

⑽ C語言 指針變數的初始化問題

變數的初始化就是在定義變數的時候,直接對變數進行賦值操作。初始化的方式一般有如下兩種:1、直接對變數進行賦予常量數值進行初始化;2、通過同類型變數進行初始化。舉例說明如下:// 以下屬於第1種初始化方式int a1=5; // 整型變數的初始化int b1[]={1,2,3,4}; // 整型數組的初始化char str1[]="abcd"; // 字元數組的初始化// 以下屬於第2種初始化方式int a2 = a1; // 整型變數的初始化int b2[4] = b1; // 整型數組的初始化char str2[4] = str1;// 字元數組的初始化char *p = str1; // 字元指針的初始化

熱點內容
桃花怎樣存儲 發布:2025-01-09 10:33:44 瀏覽:696
解壓縮好卡 發布:2025-01-09 10:18:16 瀏覽:795
物資補給站我的世界伺服器 發布:2025-01-09 10:18:09 瀏覽:65
伺服器ip顯示泛播 發布:2025-01-09 10:10:34 瀏覽:716
緩存火影圖片 發布:2025-01-09 10:05:00 瀏覽:647
設置消費密碼驗證的渠道是什麼 發布:2025-01-09 09:59:21 瀏覽:872
小米9域名伺服器地址 發布:2025-01-09 09:59:14 瀏覽:608
各類資料庫 發布:2025-01-09 09:58:30 瀏覽:257
php判斷進制 發布:2025-01-09 09:54:44 瀏覽:282
何謂編程結構 發布:2025-01-09 09:54:09 瀏覽:382