當前位置:首頁 » 編程語言 » c語言數組內可以嵌套數組嗎
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言數組內可以嵌套數組嗎

發布時間: 2022-07-14 06:48:46

A. c語言怎麼初始化嵌套結構數組

同學,你注意到了Create()函數裡面,你又定義了一句: List pr;了么?這句話時關鍵,首先,你在main 函數(我猜應該是main吧)中寫道: List pr1=Creat("p1",2,1); Insert(&pr1);看,你這個pr1是個局部變數吧?只在main()中有效的。而你上面那個Create中定義的呢?也是個局部變數,只在Create()中有效。所以,即使你在Create()中費勁全力為pr賦值。等調用完Create()後,pr還是會消亡的,回到main,時,這里的pr1就是另一個List變數了。 總而言之,Creat()裡面的pr和main()裡面的pr1是完全不同的兩個變數。要想讓他們變成一個變數。可選用指針傳參。或者定義成全局變數。 另外,我一看到你的描述的那個「燙」字,就知道你用的是VC6.0吧?呵呵

B. C語言的多維數組怎麼嵌套定義,以及怎麼賦值

1、使用malloc函數,先分配第一維的大小,然後再循環分配每一維的大小。

2、常式,分配3行4列二維數組:

#include<stdio.h>
#include<malloc.h>
intmain()
{
int**a;
inti,j;
a=(int**)malloc(sizeof(int*)*3);//為二維數組分配3行
for(i=0;i<3;++i){//為每列分配4個大小空間
a[i]=(int*)malloc(sizeof(int)*4);
}
//初始化
for(i=0;i<3;++i){
for(j=0;j<4;++j){
a[i][j]=i+j;
}
}
//輸出測試
for(i=0;i<3;++i){
for(j=0;j<4;++j){
printf("%d",a[i][j]);
}
printf(" ");
}
//釋放動態開辟的空間
for(i=0;i<3;++i){
free(a[i]);
}
free(a);
return0;
}
/*
輸出:
0123
1234
2345
*/

C. 問一個關於C語言嵌套和數組的問題。

array數組沒有初始化

如果期望取得0的話可以用memset初始化
memset(array,0,3*3*3*sizeof(int));

D. 我剛學C語言,下面是一個數組嵌套的例子,還請專業人士給詳細講解一下為什麼輸出結果是:1-11-1,先謝謝了

for(i=0;i<4;i++)
for(j=0;j<i;j++)
a[i]=a[j]-a[i];
執行這個之後:a[0]= 1; a[1]= -1; a[2]= 1; a[3]= -1;
又因你輸出的結果中沒有格式控制,結果就成:「1-11-1」;
如果你把輸出改成「printf("%d\n",a[i]);」;就可以明顯的看到了、、、、、

E. C語言為動態結構體數組分配內存(動態結構體中嵌套一動態數組)

//在結構體中只保存指針
#define BUFFER_TITLE 256
#define BUFFER_INFO 4096
typedef struct tagInfo
{
char* szTitle;
char* szInfo;
} INFO, *LPINFO;

LPINFO pInfo = (LPINFO)malloc(sizeof(INFO)); //分配結構體內存
pInfo->szTitle = (char*)malloc(sizeof(BUFFER_TITLE)*sizeof(char));
pInfo->szInfo = (char*)malloc(sizeof(BUFFER_INFO)*sizeof(char));

F. C語言數組與數組之間的相互插入

把break;寫在if語句裡面就對了。

G. C語言數組元素可以為數組嗎

不可以,數組作為右值無法進行復制,你應該存放數組指針,該指針指向你要操作的數組,舉個例子
unsigned char*pArr[3] = {test_1,test_2,test_3};

unsigned char test_1[] = "test_1";
unsigned char test_2[] = "test_2";
unsigned char test_3[] = "test_3";
以上只是一個小例子希望你能舉一反三。

H. c語言中內嵌數組可以初始化嗎怎麼初始化

一般對數組初始化可以用以下方法實現:

(1)在定義數組時對數組元素賦以初值。如:
static int a[10]={0,1,2,3,4,5,6,7,8,9};

經過上面的定義和初始化後,a[0]=0,a[1]=1,…,a[9]=9。
(2)初始化時可以只對一部分元素賦初值。例如:
static int a[10]={0,1,2,3,4};

定義的數組有10個元素,但只對其中前5個元素賦了初值,後5個元素初值為0。
(3)如果想使一個數組的元素值全部為0,可以用下面的方法:
static int a[10]={0,0,0,0,0,0,0,0,0,0};

不能用:
static int a[10]={0*10};

如果對static型數組不賦初值,系統會對定義的所有數組元素自動賦以0值。
(4)在對全部數組元素賦初值時,可以不指定數組長度。

I. 數組中能否嵌套數組

可以的!
前提是t數組必須是整形,因為數組[]里的表達式就是整數類型!

J. c語言數組嵌套的問題

不可以 數組沒有嵌套一說。

[]裡面只能是表示元素個數的數或空等情況,不可能是一個數組。

不知道你的目的是什麼??可以考慮結構體數組去實現復雜元素的情況。