c語言指針數組的初始化
㈠ c語言結構體指針數組初始化問題
//給空值
ppaas = NULL;
//申請空間
ppaas =(PPAAS)new aa *[500];//new以後,這個空間(數組)存放500個指針,ppaas 指向這個空間,使用時需要再對每個元素去分配內存。
//比如
(*ppaas)[0] = new aa;
(*ppaas)[0]->age = 100;
(*ppaas)[0]->name = "sdfsdf";
//---------------------------------------------------
ppbbs = NULL;
ppbbs =(PPBBS)new PBB[500];
(*ppbbs)[0] = new BB;
(*ppbbs)[0]->aacount = 100;
(*ppbbs)[0]->pbbs[0] =new BB;
(*ppbbs)[0]->pbbs[0]->aacount = 101;
(*ppbbs)[0]->pbbs[0]->pbbs[0] = NULL;
(*ppbbs)[0]->pbbs[0]->pbbs[1] = NULL;
(*ppbbs)[0]->pbbs[1] = new BB;
(*ppbbs)[0]->pbbs[1]->aacount = 101;
(*ppbbs)[0]->pbbs[1]->pbbs[0] = NULL;
(*ppbbs)[0]->pbbs[1]->pbbs[1] = NULL;
(*ppbbs)[0]->pbbs[2] = NULL;
(*ppbbs)[1] = NULL;
㈡ C語言 如何給指針數組初始化(分配內存空間) 比如char *a[5]
char *a,b[5]; a=b;
char *a; a=(char *)malloc(5*sizeof(char)); ... free(a);
㈢ 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語言 指向指針的指針變數的初始化
樓上的回答編譯器是不允許通過的。程序員無權給指針直接賦常量值。
int a =2;
int * p = &a;
int **q = &p;//指向指針的指針變數初始化;
int * i,j,k =&a;
int *r[3] = { i,j,k};//指針數組初始化。
㈤ 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語言數組的初始化表示方法
不是inta[] 而是例如int a[10]這種。括弧內一定要有個常量數字。
我們可以這樣定義
#define N 5
int a[N]
這表明了數組名為a;數組有5個元素;分別是a[0]到a[4];
對於數組來說;數組是變數的集合,因此數組也具有與變數相同的數據類型和儲存類型。數組的類型就是它所有的變數的類型。在定義數組時,應在數組名前對數組的類型加以確定。如上面的int a[10];則表明了數組內元素均為整形。
所有當表示浮點型可以定義為例如float a[10]。 舉例如下:
(6)c語言指針數組的初始化擴展閱讀
數組名是由用戶命名的C語言標識符,要遵循標識符命名規則。數組名表示數組存儲區域的首地址。數組的首地址也就是第一個元素的地址。數組名是一個地址常量,不能對它賦值。
數組名後是由方括弧括起來的常量表達式,不能使用其他括弧
㈦ 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;
//
字元指針的初始化
㈧ 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; // 字元指針的初始化
㈨ C語言 指針二維數組怎麼初始化
Total_FileType[0][typea] = malloc(xxx);
strcpy(Total_FileType[0][typea],newname);
//也可以不申請控制,直接讓數組元素指向數據,同樣適用*提取數據
*(Total_FileType[0][typea])讀不到數據么?
㈩ C語言數組指計如何初始化
數組指針是一個指針,指針指向的是一個數組,初始化時將它指向一個數組就好了
在下面的例子中
int (*p)[10]; //p是一個數組指針,指向一個有10個元素的整型數組
int array[10];//array[10]是一個數組
p = array; //這里是初始化,將數組指針p指向array數組