c内存管理--内存容量
来源:互联网 发布:外籍模特知乎 编辑:程序博客网 时间:2024/05/21 06:27
实例1:
char str[]= “Hello” ;char *p= str ;int n= 10;请计算sizeof (str )= 6;//计算str数组大小,注意str是数组而不是指针,所以是6,包括’\0‘sizeof ( p )=4;//p为指针类型,在32位环境下,自然是4个字节了sizeof ( n ) =4;//n为int类型数据,在32位环境下,也是4个字节void Func ( charstr[100]){请计算sizeof( str )= 4;//不要被charstr[100]给诱惑了,实际charstr作为形参是一个指针,4个字节}void *p = malloc( 100);请计算sizeof ( p )//p还是一个指针类型,依然是4个字节= 4;
实例2:
#include <stdio.h>#include <string.h>/*********char*******///只要是指针,则32位是4,64位是8int charSize(char *a,int *b){ printf("%d\n",sizeof(a));//32位是4,64位是8 printf("%d\n",sizeof(b));//32位是4,64位是8 printf("%u\n",strlen(a)); //9(不包含'\0') }void charSize2(char a[]) //数组退化为指针{ printf("%d\n",sizeof(a)); //32位是4,64位是8}/*******int*********/int intSize(int a){ return a=5;}int intSize2(int data[])//数组退化为指针{ return sizeof(data); //32位是4,64位是8}int main(void){ ///////////char//////////////// /* char *a = "123456789"; //指针a指向一个常量(相当于const char * a),不可修改其内容 char a[] = "123456789"; //相当于char *const a,地址不可变,内容可变 printf("a: %s\n",a); a[0]='a'; printf("a= %s\n",a); */ //char a[]={'1','2','3','4','5','6','7','8','9'}; char a[]="123456789"; printf("%d\n",sizeof(a)); //10(将'\0'也读入) printf("%u\n",strlen(a)); //9(不包含'\0') int b=4; charSize(a,&b); charSize2(a); ///////////int///////////////////// int *c=&b; printf("%d\n",*c); //4 printf("%d\n",intSize(b)); //5 int data1[] = {1, 2, 3, 4, 5}; int size1 = sizeof(data1); int *data2 = data1; int size2 = sizeof(data2); int size3 = intSize2(data1); printf("%d, %d, %d\n", size1, size2, size3); //32位是20,4,4 ; 64位是20,8,8 //int &d=b; //c++特有引用(&) //printf("%d,%d\n",d,b); return 0;}
0 0
- c内存管理--内存容量
- 内存容量
- 读取计算机的内存容量 (c#)
- C/C++ 内存管理
- C内存管理函数
- C内存管理
- C内存管理
- object c 内存管理
- C 内存管理详解
- C 内存管理
- C语言内存管理
- c/c++内存管理
- c 的内存管理
- C内存管理
- Ojbective-c 内存管理
- C内存管理
- objective-c内存管理
- Objective-c 内存管理
- js实现图片旋转动画的封装
- Android——MVP+Retrofit2.0+RxJava框架整合
- javascript中常见问题总结(长期更新)
- 一些易忘的Linux系统快捷键
- 通过命令行实现Android工程资源文件到apk的流程
- c内存管理--内存容量
- response.sendRedirect()与request.getRequestDispatcher().forward()区别
- ReactiveCocoa之RAC宏展开解析【iOS源码阅读】
- 异步Future模式理解及实现案例
- Android布局分析的两种方式
- C/C++之变长数组(VAL)和可伸缩型数组成员
- Red Hat 系列的Linux环境变量的修改(永久,暂时)
- RequestDispatcher的使用
- 三大基础排序算法java实现