[英]How do I dynamically allocate memory for the field of a struct?
我有這個哈希結構:
typedef struct _TD_ {
int size; /* the size of the v */
ALG v; /* the table elements */
} TD;
和一個列表結構:
typedef struct cellista{
void *info;
struct cellista *next;
} TcelulaG, *TLG, **ALG;
以及info
指向的結構:
typedef struct cuv{
int frecv;
char *s;
}word;
在程序內部的某個地方,我想為char *s
分配一些內存,如下所示:
TLG aux;
…
((word*)(aux->info))->s=strdup(str);
它給了我一個警告“賦值使指針來自整數而不進行強制轉換......為什么?
您正在調用 malloc() 並且您尚未通過包含<stdlib.h>
聲明 malloc() 。 默認情況下,函數被假定返回一個 int 因此你應該在使用它之前聲明一個函數。
因為您沒有包含<stdlib.h>
,所以您將 int 分配給一個 char * ,它是一個指針。 因此,您會收到警告“賦值從整數生成指針而無需強制轉換”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.