社区
C语言
帖子详情
怎么样才能给一个指针数组中的所有指针都初始化为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] ;
}/*初始化*/
}
...全文
1025
11
打赏
收藏
怎么样才能给一个指针数组中的所有指针都初始化为0??
怎么样才能给一个指针数组中的所有指针都初始化为0呢??这样做,为什么不行??错在哪里??有谁能帮帮我?? 定义两个变量ai ,aj 。 if(ai = 0;ai<M;ai++) { if(aj=0;aj<N;aj++) { pNode[ai][aj] ; }/*初始化*/ }
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用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];
这样能行么??怎么样才能定义一个我希望大小的数组??
c语言之——
指针
数组
与数组
指针
一、
指针
数组
和数组
指针
的定义 1.
指针
数组
:是指
一个
数组里面装着
指针
,也即
指针
数组
是
一个
数组; 定义形式:int *a[10]; 如图所示: 2. 数组
指针
:是指
一个
指向数组的
指针
,它其实还是
一个
指针
,只不过是指向数组而已; 定义形式:int (*p)[10]; 其
中
,由于[]的优先级高于*,所以必须添加(*p). 区分方法: 主要看后面的两个字是什么(前面是修饰作用),因此
指针
数组
是数组,而数组
指针
是
指针
。 二、
指针
数组
和数组
指针
的使用 ref: https://...
指针
数组
的
初始化
http://see.xidian.edu.cn/cpp/biancheng/view/152.html 二维数组 http://blog.csdn.net/chenshijun0101/article/details/6640377 二维数组的
初始化
http://zhidao.baidu.com/link?url=vyfuS7PW30wuN4dVrZl8eMWF4KSpGUhrb2
C语言 #
指针
数组
#数组
指针
#数组参数、
指针
参数
1、
指针
数组
是
一个
存放
指针
的数组。 2、想要访问
指针
数组
中
存放的数组名
中
的元素便有两种方式,一是通过数组的下标进行访问;二是利用地址的方式进行访问; 3、数组名通常表示的都是其首元素的地址; 但是有两个例外: 1、sizeof(数组名) ,这里的数组名表示整个数组,所以计算的是整个数组的大小 2、&数组名,这里的数组名表示的依然是整个数组,所以 &数组名 取出的是整个数组的地址; 4、数组
指针
的
初始化
:想要存放数组的地址,
指针
变量类型
中
的[ ]里必须要标明数组的元素个数 5、[ ] 的优先级高于*
C语言
指针
数组
初始化
1.char类型的
指针
char*names[]={"zhangsan","lisi","wangwu"};//可以这样
初始化
这样,每个
指针
指向对应的字符串 2.其他类型的
指针
int*nums[]={1,2,3,4,5};//不可以这样
初始化
原因:
指针
的
初始化
或赋值可以使用0值、常量表达式、和类型匹配的对象 的地址。//
指针
需要用地址
初始化
如上,字符串字面值常...
c 语言
中
的
指针
和数组
声明的局部变量数组,如果没有
初始化
,那么数组保存在栈上,数组的内容是不确定的。局部变量不像全局变量,全局变量如果没
初始化
,那么默认是全 0。将数组
初始化
为 0 的方式主要有以下 3 种,本人在开发过程
中
习惯于使用第一种,即使用 {0} 将数组
初始化
为全 0。(1)数组声明的时候使用 {0}
初始化
使用 memset() 将数组设置成 0。(3)使用 for 循环将数组元组逐个设置为 0。
C语言
70,040
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章