文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>array, pointer, sizeof

array, pointer, sizeof

时间:2010-04-25  来源:non_oop

Differences between array & pointer: 1) Array indicators is a const value, that means you can't reassgin a new value to it. Pointers are not. 2) The expression sizeof(var_array) means var_array.length * sizeof(var_array[0]); whereas the expression sizeof(a_pointer) means the amount of bytes a pointer occupys in the memory. If you want to pass an array of non-char-type data to another function, you have to explicityly pass the length at the same time. The following code segment, suppose we want to pass an int array, is an example:  

void function(int argc, int *header)


By the way, don't expect sizeof() to solve the unknown-length array issue for it can't get the length dynamically. Of course, char type array is an exception, there's always an hidden '\0' at the end of your char arrays. That's why sizeof(char_array) / sizeof(char_array[0]) always equals strlen(char_array) + 1   Why sizeof? As we know, C language is a low-level language, that means it can't prevent the programmer from concerning the hardware specifications, one of which is the bus bit size. For different computer models, a given fundamental data type, such as int, long and short, locates different amount of bytes. Using sizeof may help you prevent from hardcoding, which may help enhance the platform-indenpendence.   References: http://topic.csdn.net/t/20060205/18/4540750.html http://fanqiang.chinaunix.net/a4/b2/20010419/144336_b.html http://www.cnblogs.com/del/archive/2008/12/04/1347680.html
相关阅读 更多 +
排行榜 更多 +
抗日战争模拟器中文无敌版

抗日战争模拟器中文无敌版

飞行射击 下载
抗日战争模拟器全部解锁版

抗日战争模拟器全部解锁版

飞行射击 下载
梦幻度假村无限钻石

梦幻度假村无限钻石

休闲益智 下载