大家好,谁能告诉我如何在 Linux 中用 C 语言制作图形程序。我应该在 gcc 中使用什么头文件。我对 Linux 还很新手,提前
我是C语言的新手.我在分配动态数组时遇到问题.
我曾经在循环之外分配内存a=(int*)malloc(5* sizeof(int));,所以每件事情都运行良好.现在我想在循环中逐个为每个元素分配内存malloc(),但代码不起作用.
我尝试过不同的选择,scanf("%d",a) &a++,scanf("%d",&a[i]);但不能成功.如果有人能告诉我我做错了什么并彻底向我解释这个概念,我将感激不尽.
我遇到问题的代码如下:
#include <stdio.h>
#include<stdlib.h>
int main()
{
int *a;
int i;
system("clear");
for(i=0;i<5; i++)
{
a=(int *)malloc(sizeof(int));
printf("%u",&a);
printf("please enter the element in array");
scanf("%d",a[i]);
}
for(i=0;i<5; i++)
{
printf("\nthe %d entry in the array %d",i,a[i]);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud) 嗨,每个人的支持,但没有人提供我所需的信息现在我尝试做这样的程序
#include<stdio.h>
#include <stdlib.h>
int main()
{
int **a,i,j;
system("clear");
a=(int*)malloc(sizeof(int)*5);
for (i=0; i<5; i++)
{
a[i]= malloc(sizeof(int)*3);
for (j=0; j<3; j++)
{
printf("\nplease enter the [%d][%d] location = ",i,j);
scanf("%d",&a[i][j]);
}
}
for (i=0; i<5; i++)
{
for (j=0; j<3; j++)
{
printf("\nthe value enter enter the [%d][%d] location = ",i,j);
printf("%d",a[i][j]);
}
}
free(a);
return ;
}
Run Code Online (Sandbox Code Playgroud)
我在编译时遵守它,它显示了warnig正在跟随
c:8: warning: assignment from incompatible pointer type
Run Code Online (Sandbox Code Playgroud)
在运行程序时它从用户那里取15个值,但它没有显示用户输入的值,任何人都可以解释我做错了什么,任何机构都能解释我双指针和动态内存分配的概念