void fun(a,10) 將數組a的首地址賦給指針s
網站建設哪家好,找成都創新互聯公司!專注于網頁設計、網站建設、微信開發、小程序設計、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了華容免費建站歡迎大家使用!
{
int i; i 計的是這數組中有幾個字母
for (;*s;s++) 每循環一次,s后移一位,判斷結束循環的條件s指向的內容為" \0 "
{
if(*s='a'*s='z'||*s='A'*s='Z')
i++;
}
findAt函數可以使用可變參數*args,即findAt(*args)。同樣還是將幾十個坐標放到a列表中,然后直接調用findAt(*a)
題主,你基本操作沒什么問題,有幾個小地方要修改一下,修改如下:
你的源碼:
PyObject* list = PyList_New(3);????
for (size_t i = 0; i 3; i++)
PyList_Append(list, Py_BuildValue("i", i));
PyEval_CallObject(pFunc, list);
--------------------------------------------------------------------------------------
修改后,應該是這樣
PyObject*?pArgs?=?NULL;
PyObject*?list?=?PyList_New(0);????//3改成0
pArgs?=?PyTuple_New(1);?????????????????//定義1個參數
for?(size_t?i?=?0;?i??3;?i++)
PyList_Append(list,?Py_BuildValue("i",?i));?//這樣才能用Append,
PyTuple_SetItem(pArgs,?0,?list);????//將列表賦給參數
PyEval_CallObject(pFunc,?list);????//傳入參數,調用函數
注意事項:PyList_New(0)?初始化0的時候,應該用Append初始化
PyList_New(3)?初始化3個時候,應該用SetItem初始化
如果用Append的話,會出現[NULL,?NULL,?NULL]的情況
我在給一個完整的:
Python :(hello.py)
def?TestList(nlist):
print(nlist)
return
一般參數都是已元組形式傳入的
Py_Initialize();
PyRun_SimpleString("import?sys");???
PyRun_SimpleString("sys.path.append('./')");??
PyObject*?pModule?=NULL;
PyObject*?pList?=?NULL;
PyObject*?pFunc?=?NULL;
PyObject*?pArgs?=?NULL;
pModule?=?PyImport_ImportModule("hello");
pFunc?=?PyObject_GetAttrString(pModule,?"TestList");
pArgs?=?PyTuple_New(1);
pList?=?PyList_New(0);
for?(int?i?=?0;?i??3;?i++)
{
PyList_Append(pList,?Py_BuildValue("i",?i));
}
PyTuple_SetItem(pArgs,?0,?pList);
pRet?=?PyEval_CallObject(pFunc,?pArgs);
Py_Finalize();
最后輸出的:[0, 1, 2]
python調用函數中的數組的方法:
在函數里面使用global定義一個全局變量,然后將數組賦值給這個變量,調用該函數,帶有數組的的這個全局變量就可以直接使用了
示例如下:
執行結果如下:
更多Python知識,請關注:Python自學網!!
網站標題:python函數傳入數組 python傳遞數組
文章URL:http://www.yijiale78.com/article42/dodcohc.html
成都網站建設公司_創新互聯,為您提供網頁設計公司、微信小程序、建站公司、靜態網站、網站設計公司、虛擬主機
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯