ant*_*009 14 c pointers char-pointer
我有一个char指针,用于存储字符串.它稍后在程序中使用.
我已经声明并初始化为:
char * p = NULL;
Run Code Online (Sandbox Code Playgroud)
我只是想知道这是不是很好的做法.我正在使用gcc 4.3.3.
f0b*_*b0s 14
是的,这是个好主意. Google Code Style建议:
通过初始化指针NULL
,int
"0和s float
由0.0"秒-只是为了更好的可读性.
int i = 0;
double x = 0.0;
char* c = NULL;
Run Code Online (Sandbox Code Playgroud)不能将字符串存储在指针中。
您的定义mgt_dev_name
很好,但是您需要将其指向有字符串空间的地方。要么malloc()
使用该空格,要么使用先前定义的字符数组。
char *mgt_dev_name = NULL;
char data[4200];
/* ... */
mgt_dev_name = data; /* use array */
/* ... */
mgt_dev_name = malloc(4200);
if (mgt_dev_name != NULL) {
/* use malloc'd space */
free(mgt_dev_name);
} else {
/* error: not enough memory */
}
Run Code Online (Sandbox Code Playgroud)