sizeof与strlen
统计的是从 数组名的意义: 小试牛刀:sizeof计算变量所占内存空间大小,单位是字节,如果操作数是类型,计算的是使用类型创建的变量所占内存空间的大小。sizeof只关注占用内存空间的大小,不在乎内存中存放什么数据。strlen是C语言库函数,功能是求字符串长度。函数原型如下:size_t strlen ( const char * str );strlen函数的参数str中这个地址开始向后,\0之前字符串中字符的个数。strlen函数会一直向后找\0字符,直到找到为止,所以可能存在越界查找。 strlen关注到了字符串中具体的内容。sizeof strlen 1. 是操作符 <br/>2. 计算操作数所占内存的大小,单位是字节<br/>3. 不关注内存中存放什么数据 1. 是库函数,使用需要包含头文件string.h<br/>2. 是求字符串长度的,统计的是\0之前字符的个数<br/>3. 关注内存中是否有\0,如果没有\0,就会持续往后找,可能会越界 sizeof(数组名),这里的数组名表示整个数组,计算的是整个数组的大小。&数组名,这里的数组名表示整个数组,取出的是整个数组的地址。#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
char* c[] = { "ENTER","NEW","POINT","FIRST" };
char** cp[] = { c + 3,c + 2,c + 1,c };
char*** cpp = cp;
printf("%s\n", **++cpp);
printf("%s\n", *--*++cpp+3);
printf("%s\n", *cpp[-2]+3);
printf("%s\n", cpp[-1][-1]+1);
return 0;
}