2020-02-11 09:53发布
wind2100 发表于 2014-11-29 13:19 typedef struct tStr { char strA[6];
wind2100 发表于 2014-11-29 13:25 害得我,这样做了。 //=============================================================================== ...
彼岸花开@ 发表于 2014-11-29 10:15 1、如果在初始化的时候,没有定义数组的大小。在后边使用的时候数组的中被赋值。。。那么使用sizeof 统计 ...
最多设置5个标签!
//=========================================================================================
typedef struct tStr
{
u8 Size;
const u8 * pStr;
}Str_Type;
const u8 StrGoodBye[] ={"Good Bye"};
const Str_Type Str[]={
{sizeof(StrGoodBye),StrGoodBye},
};
数组的大小,和数组里存的数据个数,是两个不同的概念。
这种方法,只是针对你LZ位,说明用指针可以返回数组大小而已。 平时取数组大小,都是用12楼的方法。
现在才知道,你原来想取字符串的长度, 请用strlen()函数,用之前包含头文件<string.h>。
百度 strlen 可以满足你。
你这基本功不扎实呀。
完全错误, C语言不存在因为没定义大小就可以 随意增加数组大小的可能...
C89中不允许不指定数组大小的同时不给初始数据
C99允许, 但定义出的是0字节数组
另, C89数组只能静态定义大小, C99局部数组可以动态定义大小
但都不存在定义后直接增加的可能性...你这么做就是数组越界
一周热门 更多>