怎么样才能给一个指针数组中的所有指针都初始化为0??

syp8065 2002-12-12 10:41:05
怎么样才能给一个指针数组中的所有指针都初始化为0呢??这样做,为什么不行??错在哪里??有谁能帮帮我??

定义两个变量ai ,aj 。

if(ai = 0;ai<M;ai++)
{
if(aj=0;aj<N;aj++)
{
pNode[ai][aj] ;
}/*初始化*/
}
...全文
936 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
earnest810 2002-12-12
  • 打赏
  • 举报
回复
二维浮点数数组的输入

  二维浮点数数组的输入(即:通过键盘给二维浮点数数组赋值)在很多专业书中都没有详细讲过这个问题。在给二维浮点数数组赋值时一定要先声明一个变量,接着把数值赋予这个变量,最后把变量数值赋予二维浮点数数组赋值。实例如下: # include "stdio.h"
main()
{
 float a[2][3],x ;
 int i,j;
 for(i=0;i<2;i++)
  for(j=0;j<3;j++)
   {scanf("%f",&x);
    a[i][j]=x;}
   }
不能写成:

# include "stdio.h"
main()
{
 float a[2][3] ;
 int i,j;
 for(i=0;i<2;i++)
  for(j=0;j<3;j++)
   scanf("%f",&a[i][j]);
}

  同样道理,在结构性浮点数组变量中也一定要按照这种格式输入。实例如下:

# include "stdio.h"
 struct student
 {float b[3];
  int x;
 }a[2];
 main()
 {
  float x ;
  int i,j;
  for(i=0;i<2;i++)
   for(j=0;j<3;j++)
    {scanf("%f",&x);
     a[i].b[j]=x;}
    }
amoliyulun 2002-12-12
  • 打赏
  • 举报
回复
不对,你定义的是CHAR型的二维数组,为什么要这样计算,你的数组已经为NULL了,你应该知道你的数组的每一项都是链表吗,不然为什么要用指针数组,可以考虑一下
syp8065 2002-12-12
  • 打赏
  • 举报
回复
一个指针数组当中的每一个指针,都占用4个字节么??#include "stdio.h"
#include "string.h"
#include "stdlib.h"
#include "malloc.h"
#include "iostream.h"

main()
{
char *pNode[10][10];

int ai,aj,c;

c=sizeof(pNode[0][1]);

for(ai=0;ai<10;ai++)
for(aj=0;aj<10;aj++)
pNode[ai][aj]=NULL;

for(ai=0;ai<10;ai++)
for(aj=0;aj<10;aj++)
printf("the value is :%d\n",&pNode[ai][aj]);

printf("the size is %d\n",c);


}

例如这样的程序。对么??

zxm954712 2002-12-12
  • 打赏
  • 举报
回复
0x00表示'\0',是对字符串初始化为\0.
syp8065 2002-12-12
  • 打赏
  • 举报
回复
在MSDN上,这个函数的意思不是说,向buffer中写入连续的4个*么??

memset( buffer, '*', 4 );

那么为什么要memset(a[i], 0x00, 10)??

这不是相当于写入了10个00么??
program2100 2002-12-12
  • 打赏
  • 举报
回复
同意2樓的
syp8065 2002-12-12
  • 打赏
  • 举报
回复
if(ai = 0;ai<M;ai++)
{
if(aj=0;aj<N;aj++)
{
pNode[ai][aj]=null ;
}/*初始化*/
}

我写错了~~应该是这样的~~但是仍然不好用~~?为什么??
在初始化的时候,指针不是应该为0的么??
zxm954712 2002-12-12
  • 打赏
  • 举报
回复
for example:
char *a[10];
int i;

for(i=0; i<10; i++)
{
a[i] = (char*)malloc(10);
memset(a[i], 0x00, 10);
}

rvvd 2002-12-12
  • 打赏
  • 举报
回复
你要把指针数组的每一个参数都初始化为0
如:
for(ai=0;ai<M:ai++)
for(aj=0;aj<M;aj++)
pNode[ai][aj]=NULL;
binbin 2002-12-12
  • 打赏
  • 举报
回复
可以用memset,数组是连续内存,可以整个内存区清0
syp8065 2002-12-12
  • 打赏
  • 举报
回复
我在定义一个指针数组的时候,能不能用用值传递的方式,来定一个数组的大小?
比如:
int m,int n;
int *p[m][n];

这样能行么??怎么样才能定义一个我希望大小的数组??

70,024

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧