程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 關於C >> c語言:sizeof的使用,其不是函數,是一個操作符關鍵字,定義一個數組arr,輸出arr和&arr的區別

c語言:sizeof的使用,其不是函數,是一個操作符關鍵字,定義一個數組arr,輸出arr和&arr的區別

編輯:關於C
關於sizeof的使用,注意其不是函數,是一個操作符關鍵字 程序一:
#include <stdio.h>

void fun(int arr[10])
{
printf("fun::%d\n", sizeof(arr));//
}

int main()
{
int i = 10;
short a = 0;
int arr[10];
fun(arr);
printf("%d\n", sizeof(arr));//40 
printf("%d\n", sizeof(a++));//2
printf("%d\n", a);//0
printf("%d\n", i);//10
system("pause");
return 0;
}

 

結果: fun::4 40 2 0 10 請按任意鍵繼續. . . 程序二:
定義一個數組arr,輸出arr和&arr的區別
#include <stdio.h>
int main()
{
int n = 10;
int arr[10] = {0};
int *p = NULL;
int (*q)[10] = NULL;
printf("%d\n", sizeof(n));//4
printf("%d\n", sizeof(int));//4
printf("%d\n", sizeof(arr));//40 
printf("%d\n", sizeof(&arr));//4
printf("%p\n", arr);//00D4FACC   &arr[0],它表示數組首元素的地址
printf("%p\n", &arr);//00D4FACC,它表示數組的地址,這兩個表示意義不同
p = arr;
q = &arr;
printf("p+1=%p\n",p+1);//p+1=007DF958
printf("q+1=%p\n",q+1);//q+1=007DF97C
return 0;
}

 

結果: 4 4 40 4 00F5F7C8 00F5F7C8 p+1=00F5F7CC q+1=00F5F7F0 請按任意鍵繼續. . .    
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved