C++ 求帮助。两个问题:1怎么定义一个正整数? 2怎么定义一个未知长度的一维数组(长度由输入确定)?

 我来答
龙之4
2012-08-25 · 超过14用户采纳过TA的回答
知道答主
回答量:111
采纳率:0%
帮助的人:40万
展开全部
定义一个正整数有4种方法:
unsigned int a; //最常用的
unsigned short a;//short是短整型
unsigned long a; //long是长整型
unsigned char a; //char是字符型,这种方法可定义正整型,亦可定义字符变量

定义未知长度的数组:
int n=0; //定义一个整型变量来记录你要输入的数组长度
int *array; /*定义一个指针变量作为数组的首元素地址,array亦即数组名,int是类型名,表示数组是整型数组*/
cin>>a; //输入你要定义的数组长度。
array=new int[a]; //为你的数组在内存中开辟一小段空间,并将其首地址赋值给array。也就是定义好了一个以“array”为数组名,长度为a的整型数组。
naeux
2012-08-25 · TA获得超过765个赞
知道小有建树答主
回答量:131
采纳率:0%
帮助的人:74.3万
展开全部
unsigned short、unsigned int、 unsigned long这些都是定义正整数,只是范围不一样而已。
比如:
unsiged short a; //这里a是无符号短整型,也就是正整型的正数类型,
unsiged int b; unsiged long c; //与unsiged short a;一样,只是b的是int类型的正整数,c是long类型的正整数。它们的区别就类似于short,int,long之间的区别一样,只是都是正整数而已。
至于定义未知长度的一维数组,你可以利用指针,
1.可以如一楼的方法,
usingned int a;

int *array;
printf("%d",&a); //这是C的语法 或者 cin>>a; //这是C++的语法,两者等价

array = new int[a]; //之后你就可以吧array当做是长度为 a 的数组进行操作了。

2.你可以使用malloc()方法动态分配内存来实现。
如:
#include<stdio.h>
#include<malloc.h>

void main()
{

usigned int n, i;
int *array;
scanf("%d",&n);

//申请分配类型为int,长度为n的内存空间,并将首地址赋值给指针array;

array = (int*)malloc(sizeof(int)*n); //利用malloc()函数申请内存空间,要引入malloc.h头文件

for(i=0; i<n; i++) //初始化array
{
array[i] = i;

}
for(i=0; i<n; i++) //输出array

{
printf("%d \n", array[i]);

}
return;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kingfeng588
2012-08-25 · TA获得超过2494个赞
知道大有可为答主
回答量:1475
采纳率:50%
帮助的人:1794万
展开全部
#include <iostream>
using namespace std;
void main( )
{
unsigned int a = 0,b; // 定义一个正整数
int *array;
cin>>a; // 长度由输入确定
array = new int[a]; // 定义一个未知长度的一维数组(长度由输入确定

// 使用数组
for(b=0;b<a;b++)
{
array[b]=b;
}
for(b=0;b<a;b++)
{
cout<<array[b]<<" ";
}

//释放内存
delete[]array;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HongZe081100
2012-08-25 · TA获得超过580个赞
知道小有建树答主
回答量:436
采纳率:0%
帮助的人:434万
展开全部
unsigned char;
unsigned short;
unsigned int ;
unsigned long;
//以上都定义一个正整数,范围不一样...

类型指针 p=new 类型[数量]
类型指针 p=(类型*)malloc [数量*sizeof(类型)]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式