发布网友 发布时间:2022-04-23 21:27
共5个回答
热心网友 时间:2023-10-13 16:59
#include <stdlib.h>
#include <stdio.h>
void main(){
int i;//循环变量
int n;//变量个数
int *p;//动态存储区的首地址
scanf("%d",&n);
//开辟存放n个数据的存储区
p=(int*)calloc(n,sizeof(int));
/*
通过*(p+i)或p[i]就可以对该数据区的数据进行处理。如果是其它数据类型例如float,只需将指针p的类型改为float,calloc返回的指针类型也改为float就行。
*/
/*
以下是测试代码,先对n个数据赋予n,n-1 ,n-2,... ,1,然后从最后一个向第一个依次输出。
*/
for(i=n;i>0;i--)
p[n-i]=i;
for(i=n;i>0;i--)
printf("%d ",p[i-1]);
printf("\n");
}
热心网友 时间:2023-10-13 16:59
在C语言中,不能通过循环语句来定义多个变量。
因为C语言规定,变量的定义必须放在执行语句的前面,而循环语句就是一条执行语句,所以不能在循环体中定义变量。
举例如下:
int i;热心网友 时间:2023-10-13 17:00
用指针来动态分配内存,比如
int size=8;
int *nums;
nums=(int *)malloc(sizeof(int)*size);
然后你就可以把nums当成长度为8的数组使用了,其操作方式和int nums[8];一模一样
热心网友 时间:2023-10-13 17:00
#define ID(x) int i##x
for(int i = 0;i<n;i++)
ID(i);
不过这样有个缺点 那就是每次你只能用一个数 并且在外面不可见
你可以用静态声明 在最后一个数声明后一起使用 嘿嘿
热心网友 时间:2023-10-13 17:01
在C语言中,不能通过循环语句来定义多个变量。
因为C语言规定,变量的定义必须放在执行语句的前面,而循环语句就是一条执行语句,所以不能在循环体中定义变量。
举例如下:
int i;
for(i=0; i<4; i++)
{
int a; // 这是错误的,编译的时候会报错,因为定义变量必须在执行语句之前
}