有關於c 中memset的問題

時間 2021-12-21 14:06:29

1樓:千江月

#include

#include

using namespace std;

void test(int t, int len){memset(t,0,len * sizeof(int));

for(int i=0;i

------------------

memset方法使用有點問題,不是memset使用位置錯誤。。

#include

#include

using namespace std;

void test(int t)

cout

int a[11];

cout

test(a);

system("pause");

return 0;

歸根結底來說

main函式中sizeof(a) =44, test中sizeof(t)傳參結果是4---指標的大小

#include

#include

using namespace std;

void test(char t)

cout

char a[11];

cout

test(a);

system("pause");

return 0;

這裡sizeof(a)=11, sizeof(t)=4所以為了避免這種問題,其實就是陣列傳參最好使用最開始的那個程式test(int t, int len)

2樓:匿名使用者

作為函式引數的時候,陣列總是轉換為指標,因此sizeof不能得到陣列的正確大小……

C 中關於case中for迴圈的問題

這是由於vc 和標準不一致造成的,我們來考察程式中那個for語句中的i的作用域,按照標準,在for的初始化部分宣告的變數作用域應該在for中,而vc 把這個變數的作用域擴充套件到for所在的層次,就是說在for之後也是可以使用的,那麼按照去掉大括號的程式,i的作用域是從宣告之處到switch的大括號...

c指標陣列問題,C 中關於指標陣列的問題。

typedef 是 定義一種資料型別 就好像內建的資料型別如 int 它僅是乙個定義,不產生例項物件,即不分配任何記憶體,怎麼能給它賦值呢?對陣列賦初值的方法用for迴圈,在這裡還可用memset nod的記憶體分配在動態棧上,所以值不能確定,要初始化,必須使用顯式的方式。cdma980的回答是對的...

關於c 中map的排序問題

嗯。頂樓上兩位的發言。我也說一下愚見 如果你只是想要簡單的排序,那麼多了。鍊表本身的 sort 通用庫的通用演算法 sort 還有優先佇列等。都是有排序功能的。如果你非得要用 map 鍵值對,那麼我就不明白了,為什麼是要拿 value 排序?如果真的是要先用 map 存資料,然後想 按照 value...