Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';在c/c+中,VARNAME_T和VARNAME_P的区别是什么+; 我是新手,尤其是C和C++。_C++_C - Fatal编程技术网

什么';在c/c+中,VARNAME_T和VARNAME_P的区别是什么+; 我是新手,尤其是C和C++。

什么';在c/c+中,VARNAME_T和VARNAME_P的区别是什么+; 我是新手,尤其是C和C++。,c++,c,C++,C,我经常在c/c++中看到VARNAME_p和VARNAME_T。 这两者有什么区别 提前感谢您是指类型命名约定,其中类型或指向类型的指针分别附加了\t或\u p?如果是这样,就没有区别了。如果你想一想,考虑到这些约定有你决定附加的任何含义,就不可能有。例如,我可以决定所有处理长度的变量都将l作为前缀。您指的是类型命名约定,其中类型或指向类型的指针分别附加了\t或\p?如果是这样,就没有区别了。如果你想一想,考虑到这些约定有你决定附加的任何含义,就不可能有。例如,我可能会决定所有处理长度的变量都将

我经常在c/c++中看到VARNAME_p和VARNAME_T。 这两者有什么区别


提前感谢

您是指类型命名约定,其中类型或指向类型的指针分别附加了
\t
\u p
?如果是这样,就没有区别了。如果你想一想,考虑到这些约定有你决定附加的任何含义,就不可能有。例如,我可以决定所有处理长度的变量都将
l
作为前缀。

您指的是类型命名约定,其中类型或指向类型的指针分别附加了
\t
\p
?如果是这样,就没有区别了。如果你想一想,考虑到这些约定有你决定附加的任何含义,就不可能有。例如,我可能会决定所有处理长度的变量都将
l\ucode>作为前缀。

它们大多只是名称的约定。该语言本身定义了一些类型,如
size\u t
,用于存储事物大小的类型,或
ptrdiff\u t
用于存储指针之间差异的类型

\u p
后缀很可能是指针类型,如:

typedef int * INT_P;
因此,您可以替换所有您的:

int *xyz = NULL;
行与:

INT_P xyz = NULL;
我不记得在实际标准中看到过
\u p
后缀,所以这只是用户惯例,与我的惯例没有什么不同,即使用
p
t
作为前缀:

typedef struct {
    char name[100];
    int age;
} tPerson;
char *pBuff = maloc (sizeof (tPerson));

它们大多只是名字的惯例。该语言本身定义了一些类型,如
size\u t
,用于存储事物大小的类型,或
ptrdiff\u t
用于存储指针之间差异的类型

\u p
后缀很可能是指针类型,如:

typedef int * INT_P;
因此,您可以替换所有您的:

int *xyz = NULL;
行与:

INT_P xyz = NULL;
我不记得在实际标准中看到过
\u p
后缀,所以这只是用户惯例,与我的惯例没有什么不同,即使用
p
t
作为前缀:

typedef struct {
    char name[100];
    int age;
} tPerson;
char *pBuff = maloc (sizeof (tPerson));

按照惯例,
\t
是一个表示“类型”的后缀,因此任何类型都可能有这个后缀
\u p
通常表示“指针”,因此它表示指向给定类型的指针。

按照惯例,
\u t
是表示“类型”的后缀,因此任何类型都可能有此后缀<代码>\u p
通常表示“指针”,因此它表示指向给定类型的指针类型。

没有像C/C++这样的东西。这是两种可能具有不同命名约定的不同语言

标识符名称中的后缀
\u t
表示该标识符是
typedef
。通常,它们以适合您所处理的具体平台的方式别名一些标准类型

这些名称通常是保留的:C标准定义了其中一些名称,POSIX标准要求保留所有这些名称,以供该标准的扩展将来使用


因此,在您自己的代码中声明这样的标识符是一个坏主意,尤其是对于不是
typedef
的东西,没有C/C++这样的东西。这是两种可能具有不同命名约定的不同语言

标识符名称中的后缀
\u t
表示该标识符是
typedef
。通常,它们以适合您所处理的具体平台的方式别名一些标准类型

这些名称通常是保留的:C标准定义了其中一些名称,POSIX标准要求保留所有这些名称,以供该标准的扩展将来使用


因此,在您自己的代码中声明这样的标识符是个坏主意,特别是对于不是
typedef

的东西,您是指字母
VARNAME\u p
,还是
VARNAME
是任何其他名称的占位符?你能举个例子吗?一个
\u t
后缀通常表示一种类型,如
ptrdiff\u t
size\u t
time\u t
。我的意思是,比如,size\u t,uint32\t,在任何答案中都没有提到区分大小写?我很失望。你是说字母
VARNAME\u P
,还是说
VARNAME
是其他名字的占位符?你能举个例子吗?一个
\u t
后缀通常表示一种类型,如
ptrdiff\u t
size\u t
time\u t
。我的意思是,比如,size\u t,uint32\t,在任何答案中都没有提到区分大小写?我很失望。