C語言

奋然發表於2024-08-12

sizeof on array function parameter will return size of 'char *' instead of 'char []'

注意,在C語言中,當把一個陣列指標作為引數傳給函式後, 他會降級成為一個單純的指標,
所以
char myChars[20]
Sizeof(myChars) == 20
但是作為引數傳遞之後
Sizeof(myChars) == sizeof(char*) == 8

所以這個時候就需要把sizeof(myChars)作為另一個引數傳到函式里去!

C語言之避免編譯警告:unused用法

#include <stdio.h>
int main()
{
    int __attribute__((unused)) ai = 10;
    int bi = 11;
    printf("%d\n",bi);
    return 0;
}

此時在-Wall下也不會警告ai沒有被使用了

相關文章