About Pointers and Array

原创 2006年06月15日 17:04:00

1. #include <iostream.h>
2. int main(int argc, char* argv[])
3. {
4.  char str[10];
5.  char *pStr = str;
6.  cout << sizeof(str) << endl;
7.  cout << sizeof(pStr) << endl;
8.  return 0;
9. }

1。char str[10];后,我们应该把  str 看作一个类型为  char[10] 的变量。

  struct char[10]

 {

      int a1;

      int a2;

      int a3;

      .....

 };--完全可以看做是这样的复合数据类型。因此 sizeof( .....等就可以被理解。

2。数组名跟指针是不一样的。引用  <高质量C/C++编程指南>

  “

 

    数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。

指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。指针远比数组灵活,但也更危险。

   

3。对于 void Test_Function( char str[] ) 这样的例子来说,“数组作为函数的参数进行传递时,该数组自动退化为同类型的指针”。因此在那个函数里, str 就是一个普通的指针。

4。谭浩强害人不浅。挖哈哈哈哈。

参考文档: 《高质量C/C++编程指南》、《C/C++数组名与指针区别深入探索》。

Array Two Pointers 总结

头尾指针 都放在头,两个指针移动速度不一样 i指向数组中第一个满足条件A的元素,j指向第一个满足条件B的元素...
  • xyqzki
  • xyqzki
  • 2015年12月02日 23:07
  • 308

LeetCode 之双指针 two pointers

1. 3Sum Given an array S of n integers, are there elements a, b, c in S such that a + b + c = ...
  • sbitswc
  • sbitswc
  • 2014年03月11日 01:20
  • 5237

c 5.2 pointer & array

#define MAX #include int main(){ int getint(int *p); int n, array[MAX]; // 有分支的函数,传递指针,返...
  • slf9522
  • slf9522
  • 2017年03月10日 10:14
  • 83

c++教程(十三(下):Pointers)

————————————————————————该系列教程为翻译c++官方教程,点击参考英文原版,水平有限,翻译不通之处敬请谅解!————————————————————————指针算法对指针进行算术...
  • on2way
  • on2way
  • 2016年09月20日 13:20
  • 770

Understanding and using c pointers 第一章读书笔记

指针和内存 当C程序被编译后,它与三种内存打交道 1.Static/Global 静态变量以及全局变量被分配到该部分内存,他们在程序开始运行时被创建直到程序运行结束后才回收生存期贯穿整个程序执行过程 ...
  • aisajiajiao
  • aisajiajiao
  • 2013年10月25日 14:16
  • 1561

LeetCode-Easy部分中标签为Two Pointers的所有题目

LeetCode-Easy部分中标签为Two Pointers的所有题目
  • daigualu
  • daigualu
  • 2017年04月05日 13:08
  • 448

双指针常见用法1

所谓双指针,指的是在遍历对象的过程中,不是普通的使用单个指针进行访问,而是使用两个相同方向或者相反方向的指针进行扫描,从而达到相应的目的。 换言之,双指针法充分使用了数组有序这一特征,从而在某些情...
  • Allenlzcoder
  • Allenlzcoder
  • 2017年10月10日 16:52
  • 99

【LeetCode-面试算法经典-Java实现】【116-Populating Next Right Pointers in Each Node(二叉树链接右指针)】

【116-Populating Next Right Pointers in Each Node(二叉树链接右指针)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Giv...
  • DERRANTCM
  • DERRANTCM
  • 2015年08月12日 06:30
  • 3030

error C2110: '+' : cannot add two pointers

c++ std string string str = "hello" + " hi"; 这个就会报错 因为这是两个const char*在操作 而 const char* 没有 ...
  • bai_lu_sz
  • bai_lu_sz
  • 2012年12月19日 11:27
  • 1078

浅析经典面试算法题-two pointer的运用

前几天和朋友讨论 Google 电面的一道题, 由此启发, 总结了下 two pointer 的使用场景, 在大部分情况下, 恰当地使用 two pointer 可以使时间复杂度保持在 O(n), 像...
  • u011624883
  • u011624883
  • 2016年12月14日 11:48
  • 1190
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:About Pointers and Array
举报原因:
原因补充:

(最多只允许输入30个字)