c语言数组赋值
来源:互联网 发布:淘宝店客户具体地址 编辑:程序博客网 时间:2024/05/21 17:50
最近在学c语言,把给数组赋值的方式总结一下:
1、利用malloc
#include <stdio.h>
#include <stdlib.h>
void main()
{
int * a;
a = (int *)malloc(2*sizeof(int));
int i=0;
int j=1;
a[0] = i;
a[1] = j;
int times;
for (times=0;times<sizeof(a)/sizeof(int);times++)
{
printf("%d\n", a[times]);
}
free(a);
}
2、直接声明数组
#include <stdio.h>
void main()
{
int a[2];
int i=0;
int j=1;
a[0] = i;
a[1] = j;
int times;
for (times=0;times<sizeof(a)/sizeof(int);times++)
{
printf("%d\n", a[times]);
}
}
新手注意点:
1、需要引用的头文件:输入输出要引用<stdio.h>, malloc函数要引用<stdlib.h>
2、计算数组的元素个数:sizeof(a)/sizeof(int)
3、malloc函数的原理:
(1)分配长度为指定数量的内存块:malloc(2*sizeof(int)),这里指定存放两个整数,共8个字节
(2)内存不在使用时,要记得释放内存:free(a);
(3)malloc 函数返回的是 void * 类型,如果你写成:p = malloc (sizeof(int)); 则程序无法通过编译,报错:“不能将 void* 赋值给 int * 类型变量”。所以必须通过 (int *) 来将强制转换。
(4)malloc()函数其实就在内存中找一片指定大小的空间,然后将这个空间的首地址范围给一个指针变量,这里的指针变量可以是一个单独的指针,也可以是一个数组的首地址,这要看malloc()函数中参数size的具体内容。我们这里malloc分配的内存空间在逻辑上连续的,而在物理上可以连续也可以不连续。对于我们程序员来说,我们关注的是逻辑上的连续,因为操作系统会帮我们安排内存分配,所以我们使用起来就可以当做是连续的
- c语言数组赋值
- C语言结构体数组赋值问题
- c语言中的字符数组赋值
- C语言数组名相互赋值
- C语言数组赋值一例
- C语言中字符数组赋值方法
- C语言数组赋值一例
- C语言中给数组赋值
- C语言中如何一次给一个数组变量赋值
- C语言可以给字符数组赋值的方法
- C语言字符数组的赋值问题及比较
- C语言可以给字符数组赋值的方法
- C语言可以给字符数组赋值的方法
- C语言可以给字符数组赋值的方法
- C语言可以给字符数组赋值的方法
- C语言中struct数组乱序赋值
- c语言中如何给字符串数组赋值
- c语言中,字符数组与字符串赋值问题
- FormData上传文件显示进度百分比
- oracle的学习历程 2017/8/30
- windows环境下curl报错:Protocol "'http" not supported or disabled in libcurl
- 超链接
- 卷积计算
- c语言数组赋值
- java虚拟机垃圾回收
- Java 8 新特性 Lambda
- IOS打包ipa
- python安装完毕后,用pip安装失败
- 一个简单的html
- 初识机器学习——概念介绍(imooc笔记)
- html隐藏元素
- SpringMVC MultipartFile 多文件/单文件上传通用类