c++ notes

作者: 忘掉你就像一朵忘掉的花 | 来源:发表于2014-06-15 19:05 被阅读0次

数组指针

int *a[2]包含指向int指针的数组,大小为2


数组

考虑a[3][2]={{1,2},{3,4},{5,6}}a, a[0], &a[0][0], *a值(假设为0)是一样的。
a+1*(a+1)的值都为8,不过涵义不一样,a+1是行指针,间隔为8 a+1 - a = 8*(a+1)是列指针,每次偏移增加4 *(a+1)+1-*(a+1)=4
可以认为a[1]*(a+1)等同,那么就有a[1]+1*(a+1)+1一样指向第二行第二列。*(a[1]+1)=4。另外,a行指针,*a, a[0]列指针。

&a[1], &*(a+1)a+1等同,可看做行指针。

可否令int **p = a?


如何向函数传递数组?


MinGW数组大小问题

int data[10000000]出错。估计是stack over flow, 1Mb可包含262144个int,测试结果是最多可以分配521143个int,其大小为1.988Mb。网上说windows下gcc默认stack size为2Mb,但可以声明多个数组,每个大小都达到最大,结果不报错,那么这个stack size指的是某个函数的还是某个程序的还是某个变量的?
另外,更改stack size大小:gcc -Wl,--stack,212097152 -g main.c
有三种解决办法:
1,声明一个指针int *p;,然后动态分配空间p=new int[10000000];
2,static int data[10000000];
3,将数组声明为全局变量


static

全局变量定义在函数外,作用域从定义处开始到程序结束。如何函数在定义之前要调用全局变量,需要在变量前面加上external,如何其他文件要使用则需要在函数外用external声明这个变量。
静态全局变量作用域在本文件内。
静态局部变量作用域在函数内,一旦分配后就不再改变。
如果用一个指针指向静态全局变量或者静态局部变量,然后在作用域外操作这个指针,会不会改变静态变量呢?


相关文章

  • c++ notes

    数组指针 int *a[2]包含指向int指针的数组,大小为2 数组 考虑a[3][2]={{1,2},{3,4}...

  • GeekBand C++ Week1 Notes

    GeekBand C++ Week1 Notes A.OOP-面向对象编程 1基础:C语言 -变量variable...

  • C/C++/java/C#中double/float 怎么获得u

    PART1: C/C++部分: [c/cpp]测试部分 引申部分: Notes: 用java/c#同学可以继续看一...

  • Android 开发的 C++ 基础 Notes

    注:原文地址 前言:下文是很基础的C++语法的 notes,只是个人学习 C++时,针对自己不熟悉的知识点做的零散...

  • Notes of C++ Primer Plus

    通常,IDE允许在辅助窗口中运行程序。程序执行完毕后,有些IDE将关闭该窗口,而有些IDE则不关闭。如果编译器关闭...

  • Effective C++ Notes (1)

    条款 01: 视 C++ 为一个语言联邦 Item 01: View C++ as a federation of...

  • Brief Notes of 《Effective C++》

    本文为学习《Effective C++》各个条款之后的一点概要式的总结。github博客地址[wcsjdzz.gi...

  • Lotus Notes API的使用方法

    1. 准备工作 需要根据实际使用的Notes版本进行IBM C/C++ API Toolkits的下载。 将下载的...

  • GeekBand C++ Week6 Notes

    STL和泛型编程 Week6 Notes 1.模板概念和模板函数 C++模板简介 概观 为什么会有模板这个概念 S...

  • 隐藏和显示Notes客户端菜单栏

    本功能只在5.0,6.5.7.0 Notes客户端版本中测试通过,因为客户端是基于C++的,而8.0,8.5的客户...

网友评论

      本文标题:c++ notes

      本文链接:https://www.haomeiwen.com/subject/hzqjtttx.html