C语言中对数组赋值的三种形式
前言
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语言之从字符数组中删除特定的字符
从字符数组中删除特定的字符,即输入要删除的指定字符,利用for循环找到非指定字符,将非指定字符输出即可.以下为具体的实现方法: #include<stdio.h> int main() { char str[100],c; int j,k; printf("please input a string:"); gets(str); printf("\nEnter a character:"); c=getchar(); for(j=k=0;str[j]!=
-
C语言中数组的一些基本知识小结
初始化数组 int ages[3] = {4, 6, 9}; int nums[10] = {1,2}; // 其余的自动初始化为0 int nums[] = {1,2,3,5,6}; // 根据大括号中的元素个数确定数组元素的个数 int nums[5] = {[4] = 3,[1] = 2}; // 指定元素个数,同时给指定元素进行初始化 int nums[3]; nums[0] = 1; nums[1] = 2; nums[2] = 3; // 先定义,后初始化 定义但是未初始化,数组中有
-
c语言实现把文件中数据读取并存到数组中
1.txt 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 2.txt 1 2 3 4 5 2 3 4 5 6 4 5 6 7 8 程序代码: // C++读取文本到数组.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" int readfile1D() { char a[100]; int i; FILE *fp = fopen("1.txt","r"); if(fp =
-
c语言字符数组与字符串的使用详解
1.字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素.char str[10]={ 'I',' ','a','m',' ','h','a','p','p','y'};即把10个字符分别赋给str[0]到str[9]10个元素如果花括号中提供的字符个数大于数组长度,则按语法错误处理:若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即 '\0' ). 2.字符数组与字符串在c语言中,将字符串作为字符数组来处理.(c++中不是)在实际应用
-
C语言中数组作为函数的参数以及返回值的使用简单入门
函数通过数组作为参数 如果想通过一个一维数组作为函数的参数,就必须声明函数形式参数,使用以下三种方式与所有三个声明方法之一产生类似的结果,因为每一种方式告诉编译器,一个整数指针将会要被接收.类似的方式,可以使用多维数组形式参数. 方式-1 形式参数为指针如下.在下一章将学习什么是指针. void myFunction(int *param) { . . . } 方式-2 如下形式数组参数的大小: void myFunction(int param[10]) { . . . } 方式-3 如下形式
-
深入理解c语言数组
一 数组名是什么 数组就是一段连续可用的内存.比如声明一个 int数组 int array[]={1,2,3}; array代表什么?有的资料说:数组名是指向数组首地址的常量指针. 下面我们可以验证一下.我都知道sizeof操作符可以返回一个对象或者类型所占的内存字节数.如:int i=1:那么sizeof(i) 的结果就是4(64位机器下的部分编译器是8) 那我们打印sizeof(array) printf("%d\n",sizeof(array)); 结果是:12. 但是我们都知道
-
C语言结构体数组同时赋值的另类用法
说到C语言结构体数组的同时赋值,许多人一想就会想到用以下的这种方法,咱们来写一个例子: #include <stdio.h> struct student { int a; int b ; int c ; }; struct student array1[1000] ; int main(void) { int i ; for(i = 0 ; i < 1000 ; i++) { array[i].a = 1 ; array[i].b = 2 ; array[i].c = 3 ; } fo
-
C语言查找数组里数字重复次数的方法
本文实例讲述了C语言查找数组里数字重复次数的方法.分享给大家供大家参考.具体如下: #include "stdafx.h" #include<stdio.h> #include <iostream> using namespace std; int main() { int myarray[10]={4,3,7,4,8,7,9,4,3,6}; printf("输入你想查询的数:"); int number=0; cin>>numb
-
c语言中数组名a和&a详细介绍
最近又把学习c语言提上日程上来了~~~先把我打算看的书都写下来吧,<C语言深度剖析>,<c和指针>系类,<c语言陷阱和缺陷> 先说说a和&a的区别(有三点,三个方向):1.是a和&a的本质,都是什么类型的.2.从2维数组的角度看.3.从指针运算的角度看. 声明:虽然数组名不是指针,但是用的很像指针,我们暂且把它叫做一个指针吧. 第一个问题:int a[10]; a ,&a和&a[0] 都是分别是什么?先说明a ,&a和&
-
C语言中对数组赋值的三种形式
前言 C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合.数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量. 在C语言中,对数组进行赋值的三种形式 方法如下: 1.通过循环的形式 即:数组名[下标] 对数组的元素进行依次赋值 #include <stdio.h> int main() { int i; int a[10] = {0}; for(i=0;i<10;i++) { scanf("%d",&a[i]
-
C语言结构体数组常用的三种赋值方法(包含字符串)
目录 一.按照成员变量进行赋值(麻烦,好理解,字符串赋值需要strcpy) 二.对数组整体进行赋值.(一次性需要把所有的都添加进去,不需要strcpy) (1) 在声明数组的时候,进行赋值 (2)对有规律的数据赋值,比如学生结构体的学号是有规律的. 三.使用输入进行赋值 总结 一.按照成员变量进行赋值(麻烦,好理解,字符串赋值需要strcpy) 这里使用了一个Init函数,为了在进一步说明传参的使用.实际上赋值按照需要放在主函数就行. (使用strcpy函数需要添加头文件string.h) #i
-
漫画讲解C语言中最近公共祖先的三种类型
最近公共祖先定义 查找最近公共祖先 三叉链 代码如下: //三叉链 struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode *parent; TreeNode(int x) : val(x), left(NULL), right(NULL), parent(NULL) {} }; class Solution { public: TreeNode* lowestCommonAncestor(TreeNode* ro
-
Struts2配置文件中使用通配符的方法(三种形式)
Struts2简介 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互.Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架.其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大.Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使
-
C语言中全局数组和局部数组的问题
今天同学遇到一个在C语言中全局数组和局部数组的问题,卡了许久,我也没有第一时间看出问题,现在把问题梳理一下,并给出解决方案. 问题描述: 在全局声明的数组与在局部声明的数组有着不同的效果. 首先来看一个程序: 复制代码 代码如下: #include <stdio.h> #include <stdlib.h> #define MAX 10 char a[MAX]; int main() { int i; char b[MAX]; char *c=(char *)malloc(MAX
-
从Vuex中取出数组赋值给新的数组,新数组push时报错的解决方法
如下所示: Uncaught Error: [vuex] Do not mutate vuex store state outside mutation handlers 今天遇到一个问题,将Vuex中数组的值赋给新的数组,新数组push时报上面的错误,代码如下 <code class="language-javascript">this.maPartListTable = this.$store.state.vehicleMa.maPartListTable; </
-
python中的数组赋值与拷贝的区别详解
具体的注解我已经写在了程序里面:通俗的解释了python里面的浅拷贝与深拷贝的不同,请看程序. # -*- coding: utf-8 -*- import numpy as np import copy as cp import matplotlib.pyplot as plt import time import math fig = plt.figure() ax = fig.add_subplot(241) # 定义一个多维数组 x = np.array([[1, 2, 3], [4,
-
vuex直接赋值的三种方法总结
我们在编写vuex代码过程中,觉得在a.vue的模板里面写入例如 <p>{{$store.state.num}}</p>很麻烦,我们希望直接就写成{{num}},我们应该怎么写,vue给出三种固定写法,大家理解之后基本照抄,稍做改动即可 第一种方法 通过computed的计算属性直接赋值 1.store.js(vuex的代码如下): import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) const state={//
-
C语言实现求最大公约数的三种方法
目录 题目描述 问题分析 代码实现 方法一:穷举法 方法二:辗转相除法 方法三:更相减损法 题目描述 求任意两个正整数的最大公约数 问题分析 最大公因数,也称最大公约数.最大公因子,指两个或多个整数共有约数中最大的一个.a,b的最大公约数记为(a,b),同样的,a,b,c的最大公约数记为(a,b,c),多个整数的最大公约数也有同样的记号.求最大公约数有多种方法,常见的有质因数分解法.短除法.辗转相除法.更相减损法.与最大公约数相对应的概念是最小公倍数,a,b的最小公倍数记为[a,b]. --百度
-
JS中动态创建元素的三种方法总结(推荐)
1.动态创建元素一 document.write() 例如向页面中输出一个 li 标签 <pre class="html" name="code"><span style="font-size:12px;"><script> document.write("<li>123</li>"); </script></span> body标签中就会插入
随机推荐
- .net中string无重复数字的实现方法
- 添加网站到安全站点.设置安全站点打开ActiveX时提示.去页眉页脚的vbs代码
- 关于培养色感,自己的一些方法
- 快速升级hotmail和msn邮箱容量的方法
- Spring boot实现数据库读写分离的方法
- 在Python程序中操作MySQL的基本方法
- Swift图像处理之优化照片
- PHP实现bitmap位图排序与求交集的方法
- 使用PHP静态变量当缓存的方法
- Node.js返回JSONP详解
- MSN Messenger 化繁为简(用 Visual Studio 2005 去掉 MSN 广告)
- C#数字图象处理之肤色检测的方法
- Android中使用GridLayout网格布局来制作简单的计算器App
- Android中利用xml文件布局修改Helloworld程序
- SpringMVC拦截器实现登录认证
- Bo-Blog专用的给Windows服务器的IIS Rewrite程序
- 解决C++中重定义的方法总结
- Vue的土著指令和自定义指令实例详解
- PHP创建自己的Composer包方法
- DataFrame 将某列数据转为数组的方法