sizeof數組名和字符指針是有區別的


sizeof數組名和字符指針是有區別的。

#include <stdio.h>
#include <stdlib.h>
void change(char url[]);
int main(int argc,char* argv[])
{
    char* src="/its.php22222";
    printf("length:%d\n",sizeof(src));
    char url[2048]="zhanghanqing";
    printf("length:%d\n",sizeof(url));
    char* zhang=url;
    printf("length:%d\n",sizeof(zhang));
    change(url);
    return 0;
    //memset(url,'\0',sizeof(url))
}
void change(char url[])
{
    printf("length:%d\n",sizeof(url));
}

代碼沒有啥實際意義,就是為了看一下sizeof數組名和字符指針的區別。

結果為:

length:8
length:2048
length:8
length:8

當數組名作為函數參數傳遞時,會退化為字符指針。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM