【c语言】strlen与sizeof对数组和指针的求法

// strlen与sizeof对数组和指针的求法

#include <stdio.h>
#include <string.h>

int main()
{
	char *pcColor = "12345678";
	char acColor[] = "12345678";
	printf("%d\n", strlen(pcColor));//8 求字符串的大小
	printf("%d\n", strlen(acColor));//8 求字符数组的大小
	printf("%d\n", sizeof(pcColor)); //4 求pcColor指针的大小
	printf("%d\n", sizeof(acColor));//9 求字符数组的大小,包括\0
	return 0;
}

时间: 2024-08-02 13:46:46

【c语言】strlen与sizeof对数组和指针的求法的相关文章

C语言基础学习3:数组与指针

数组元素的指针就是数组元素的地址. 1.指向数组元素的指针 C语言规定数组名(不包括形参数组名,形参数组并不占据实际的内存单元)代表数组中的首元素(即序列为0的元素)的地址. int a[10]; int *p1,*p2; p1 = &a[0]; p2 = a; p1和p2指向同一个数组a[10]. 2.通过指针引用数组元素 按C语言的规定,如果指针变量p已指向数组中的一个元素,则p+1指向同一个数组中的下一个元素,而不是将p的值(地址)简单的加1. 如果p的初值为&a[0],则 (1)

C语言——strlen()和sizeof的区别

strlen()和sizeof()的区别: strlen()——>C字符串库函数,返回字符串的真实长度.它是从内存某位置开始扫描,直到碰到结束符'\0'停止,返回计数器值. sizeof()——>操作符,返回的是变量声明后“占用”的内存大小,可能不是实际大小. int num; sizeof(num);  返回num占用内存大小.也可写作sizeof num (当后面是变量名时,可不加括号.) sizeof(int);  返回int型数据占用内存大小.(当后面是类型名时,一定要加括号.) 下面

C语言中的函数、数组与指针

1.函数:当程序很小的时候,我们可以使用一个main函数就能搞定,但当程序变大的时候,就超出了人的大脑承受范围,逻辑不清了,这时候就需要把一个大程序分成许多小的模块来组织,于是就出现了函数概念:  函数是C语言代码的基本组成部分,它是一个小的模块,整个程序由很多个功能独立的模块(函数)组成.这就是程序设计的基本分化方法: (1) 写一个函数的关键: 函数定义:函数的定义是这个函数的实现,函数定义中包含了函数体,函数体中的代码段决定了这个函数的功能: 函数声明:函数声明也称函数原型声明,函数的原型

关于C语言: 初始化一个指向数组的指针变量为什么不需要&amp;符号?

C语言中数组名就是第一个元素的地址,所以可以直接把它赋给一个指针,不需要取地址. 1 void InitBiTree(SqBiTree T) 2 { // 构造空二叉树T.因为T是数组名,故不需要& 3 int i; 4 for(i=0;i<MAX_TREE_SIZE;i++) 5 T[i]=Nil; // 初值为空(Nil在主程中定义) 6 } 上述初始化代码中T是一个数组名,也就代表了数组的首地址,是一个地址,就不需要取地址符. 如下边初始化就不一样 1 void InitString(

C++primer第四章 数组和指针

4.1. 数组 数组是由类型名.标识符和维数组成的复合数据类型(第 2.5 节),类型名规定了存放在数组中的元素的类型,而维数则指定数组中包含的元素个数. 数组定义中的类型名可以是内置数据类型或类类型:除引用之外,数组元素的类型还可以是任意的复合类型.没有所有元素都是引用的数组. 4.1.1. 数组的定义和初始化 数组的维数必须用值大于等于 1 的常量表达式定义(第 2.7 节). 此常量表达式只能包含整型字面值常量.枚举常量(第 2.7 节)或者用常量表达式初始化的整型 const 对象. /

sizeof、strlen、字符串、数组,整到一块,你还清楚吗?

写在前面 sizeof.strlen.字符串.数组,提到这些概念,相信学过C语言的人都能耳熟能详,也能谈得头头是道,但是,在实际运用中,当这些内容交织在一起时,大家却不一定能搞地清清楚楚,本文的目的正是帮助大家将相关知识总结清楚. 正文 先看一段代码 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 void testchar(char str[]) 5 { 6 printf("%d %d\n", sizeof(str

C语言之strlen和sizeof

sizeof运算符,它以字节为单位给出数据的大小. strlen()函数以字符为单位给出字符串的长度. 从上面可以明确的看出来,sizeof是运算符,而strlen则是函数. 一.sizeof sizeof的参数有很多,比如数据类型(int.float等).数组(数组作为参数时要使用数组名).指针.结构体.对象.函数等等. 数组--编译时分配的数组空间大小. 指针--存储该指针所用的空间大小(存储该指针的地址的长度,是长整型,一般为4). 类型--该类型所占空间大小. 对象--对象的实际占用空间

C语言strlen()函数用法

C语言strlen()函数:返回字符串的长度 头文件:#include <string.h> strlen()函数用来计算字符串的长度,其原型为:unsigned int strlen (char *s);  s为指定的字符串 eg: #include<stdio.h> #include<string.h> int main() { char *str1 = "http://see.xidian.edu.cn/cpp/u/shipin/"; char

【转载】strlen与sizeof区别

自己小结: sizeof使用时,若是数组变量,则是数组变量占的大小 char a[10]; sizeof(a)=10 若是指针,则为指针大小,数组变量作为函数参数传递时,会退化成指针,且函数内是不知道原数组大小的 char *s="abcdddddd"; sizeof(s) = 4 指针 void f(char a[]) {sizeof(a) = 4 指针} 下面转载自百度百科 ------------------------------------------------------