c\c++基础
荆楚大刚
这个作者很懒,什么都没留下…
展开
-
c\c++ 二级指针的三种内存模型
1、第一种 二级指针做输入内存模型 代码如下: //打印 void PrintArray(char** parr,int len) { for(int i=0;i<len;i++) { printf("parr[%d]=%s\n",i,parr[i]); } return; } //排序 void SortArray(char** parr,int len) { for (int i=0;i<len-1;i++) { for(int j=i+1;j<len;原创 2022-04-05 10:41:03 · 892 阅读 · 0 评论 -
c\c++ 浅谈指针意义之间接赋值
1、从0级指针到1级指针 这个想对容易些 ,话不多说直接上代码如下: int GetValue(int* p) { *p = 8; return 0; } int _tmain(int argc, _TCHAR* argv[]) { int a = 7; cout<<"修改前 a = "<<a<<endl; GetValue(&a); cout<<"修改后 a = "<<a<<endl; system("p原创 2022-04-04 11:04:12 · 764 阅读 · 0 评论 -
c\c++ 浅谈内存四区
C/C++编译的程序占用的内存分为 代码区、全局区、栈区、堆区。 1、代码区 用于存放函数体的二进制代码。 2、全局区 用于存放的数据有:全局变量、静态变量、常量(如字符串常量)。 3、栈区 用于存放函数的参数值、返回值、局部变量等。栈是一种先进后出的内存结构,由编译器自动分配释放。在程序运行过程中实时加载和释放,因此,局部变量的生存周期为申请到释放该段栈空间。 4、堆区 用于动态内存分配。堆是一个大容器,它的容量要远远大于栈,但没有栈那样先进后出的顺序。一般由程序员分配和释放,若程序员不释原创 2022-04-03 21:39:07 · 439 阅读 · 0 评论 -
c\c++ 剖析数组做参数传递
1、数组名做实参时候代表的是整个数组 2、数组名作为形参,代表的就是数组的首地址 结论:数组作为参数传递的时候,会退化为指针。C++以性能著称,不会传递整个数组内容。原创 2022-04-03 13:50:13 · 365 阅读 · 0 评论 -
c\c++数组名的本质
1、一维数组 int _tmain(int argc, _TCHAR* argv[]) { int a[5] = {1,2,3,4,5}; //数组名 a代表的是首元素的地址 //数组名取地址 &a 代表的是整个数组的地址 printf(" a = %d\n a+1 = %d\n &a = %d\n &a+1 = %d\n",a,a+1,&a,&a+1); system("pause"); return 0; } 运行结果如下: 说明: /原创 2022-04-03 15:53:06 · 676 阅读 · 0 评论