⑴ c語言中怎樣給指針中添加多個數組的元素
數組指針(也稱行指針)
定義
int
(*p)[n];
()優先順序高,首先說明p是一個指針,指向一個整型的一維數組,這個一維數組的長度是n,也可以說是p的步長。也就是說執行p+1時,p要跨過n個整型數據的長度。
如要將二維數組賦給一指針,應這樣賦值:
int
a[3][4];
int
(*p)[4];
//該語句是定義一個數組指針,指向含4個元素的一維數組。
p=a;
//將該二維數組的首地址賦給p,也就是a[0]或&a[0][0]
p++;
//該語句執行過後,也就是p=p+1;p跨過行a[0][]指向了行a[1][]
所以數組指針也稱指向一維數組的指針,亦稱行指針。
指針數組
定義
int
*p[n];
[]優先順序高,先與p結合成為一個數組,再由int*說明這是一個整型指針數組,它有n個指針類型的數組元素。這里執行p+1時,則p指向下一個數組元素,這樣賦值是錯誤的:p=a;因為p是個不可知的表示,只存在p[0]、p[1]、p[2]...p[n-1],而且它們分別是指針變數可以用來存放變數地址。但可以這樣
*p=a;
這里*p表示指針數組第一個元素的值,a的首地址的值。
如要將二維數組賦給一指針數組:
int
*p[3];
int
a[3][4];
p++;
//該語句表示p數組指向下一個數組元素。註:此數組每一個元素都是一個指針
for(i=0;i<3;i++)
p[i]=a[i]
這里int
*p[3]
表示一個一維數組內存放著三個指針變數,分別是p[0]、p[1]、p[2]
所以要分別賦值。
⑵ c語言插入數組元素(數組)
C語言中,數組是一組連續的相同類型的數據集合。 所以要在數組中插入元素,需要按照以下步驟:
1、找到插入點;
2、將插入點所在元素,及之後的所有元素,都向後移動一個單位;
3、將插入點賦值為要插入的元素。
以固定位置插入,代碼舉例如下:
#include<stdio.h>
voidinsert(int*a,intn,inti,intv)
//將長度為n的數組a,下標為i的位置插入值為v的元素。插入後,數組長度為n+1.
{
intj;
for(j=n-1;j>=i;j--)//將i及以後的後移一位。由於是固定位置插入,所以不需要查找插入位置。
a[j+1]=a[j];
a[i]=v;//插入元素。
}
intmain()
{
inta[5]={1,3,6,7};/五個元素數組,初始化四個值。
inti;
insert(a,4,2,5);//將5插入到a[2]位置。
for(i=0;i<5;i++)
printf("%d",a[i]);//輸出結果,為13567
return0;
}
⑶ C語言怎麼對數組進行添加
int b=1;
int c=0;
int *a=new int[b];
for(int i=b;i<=b;)
{
cin>>a[i];
cout<<"繼續按1"
cin>>c;
if(c) {b++;int *a=new int[b];}
else break;
}