2020-02-11 09:53发布
wind2100 发表于 2014-11-29 09:56 sizeof 只能统计数组 大小 我觉得一但指针被初始化后,指针指向的东西就是有大小的了 ...
彼岸花开@ 发表于 2014-11-29 10:15 1、如果在初始化的时候,没有定义数组的大小。在后边使用的时候数组的中被赋值。。。那么使用sizeof 统计 ...
最多设置5个标签!
1、如果在初始化的时候,没有定义数组的大小。在后边使用的时候数组的中被赋值。。。那么使用sizeof 统计数组的大小。是这个数组中已经有被填充的大小吧。。因为数组是未定义大小的,所以数组的大小还是有可以一直增加的。 我的理解对不对呢
2、用指针操作数组,如果发生越界。确实很严重。。
3、用指针的时候能不能判断一下 ,数组的最后总是' ' 结束嘛。。这个我没有尝试过。
数组大小是定义是确定的,貌似不能一直增加。至于用指针去访问数组的越界问题,那是软件设计的问题,和数组、c语言无关。
指针正是C语言的强大之处,楼主说的这个不是C语言的不足之处,而在于使用指针的人
在定义指针的时,指针指向的东西就有大小。
比如 char* p, sizeof(*p)也只能是一个char
如果你想sizeof(*p)返回一个数组的大小,那么可以自定义之中类型
typedef struct
{
char str[10];
}
Str_TypeDef;
这是定义Str_TypeDef * p, 此时sizeof(*p),就是数组str[]的大小了。
数组和字符串混了。
数组里面的数据可以任意,并不是 结尾
字符串才是 结尾。
如果想用数组放字符串“www”,数组至少要定义成4个字节,第四个字节用来放' '
一周热门 更多>