c語言給陣列賦值的3種形式
在C語言中,對陣列進行賦值的三種形式
推薦學習:C語言影片教學
1、透過循環的形式 即:陣列名稱[下標] 依次陣列的元素依序賦值
#include <stdio.h> int main() { int i; int a[10] = {0}; for(i=0;i<10;i++) { scanf("%d",&a[i]); } for(i=0;i<10;i++) { printf("%d ",a[i]); } return 0; }
2、經由循環的形式的形式依序賦值
#include <stdio.h> int main() { int i; int a[5]; // 数组名:a 是数组首元素的地址 -----相当于一个指针 是一个常量 //指针+整型值,表示地址的前移,前移的字节由指针指向的对象的类型决定 //b+1; 前移4个字节(int型) printf("%#p\n",a); //打印输出数组a的地址 相当于a[0]的地址 printf("%#p\n",&a[0]); printf("%#p\n",a+1); printf("%#p\n",&a[1]); printf("%#p\n",a+2); printf("%#p\n",&a[2]); printf("请输入数组a元素的值:"); for(i=0;i<5;i++) { scanf("%d",a+i); //赋值给数组a } printf("a数组元素的值为:"); for(i=0;i<5;i++) { printf("%d ",*(a+i)); } return 0; }
列印出的結果:
#3、透過循環的形式 利用指標 對陣列的元素依序賦值
#include <stdio.h> int main() { int i; int d[5] = {10,20,34,89,90}; //指针指向一维数组,指针指向数组首元素 //数据类型 *指针名; int *p = d; //int *p = &d[0]; //指针指向数组首元素。指针名可以当数组名使用 printf("%#p\n",p); printf("%d\n",d[0]); printf("%d\n",*++p); //++p p的地址先偏移, *p printf("%d\n",d[1]); printf("%#p\n",p); printf("%#p\n",&d[1]); printf("请输入数组d元素的值:"); p = d; for(i = 0; i < 5; i++) { //scanf("%d",p+i); //p+0 p+1 p+2 p+3 scanf("%d",p++); //p = p+1 } //for循环结束,p偏移到元素d[4]的下一个元素 p = &d[0]; for(i = 0; i < 5; i++) { //printf("%d ",*(p+i)); //printf("%d ",*p++); //p++,后置 *p取p变化之前的内容 printf("%d ",p[i]); //指针指向数组首元素。指针名可以当数组名使用 } printf("\n-----------------\n"); return 0; }
以上是c語言給予數組賦值的3種形式的詳細內容。更多資訊請關注PHP中文網其他相關文章!