char a[]="nice day";
char* const pc=a;
//pc="hello world";//cannot change the pc pointer address
a[0]='w';
cout<
例如下面的函数申明:char *strncpy(char *, const char *, size_t), 为什么const char *不可以是char *?这样做有什么好处吗? 请各位大哥大姐解释一下
我有两行代码 char *p="abc"; delete [] p; 这代码载gcc里面变异没什么问题,但是在 vc6.0里面就报错。 请问这是什么原因呢? 希望大家帮我解释一下,谢谢! :?: :oops: :cry:
以下是对const char * const, const char *, char * const, char * 与char []的分析比较。
[code]
#include
我们都用过const 修饰符修饰一个变量,而且我们知道使用const修饰之后,这个变量相当于常量了,他的值在代码其他部分不能再修改,这对于函数调用时候,防止错误的修改原本不应修改的变量起到很大作用,举个例子,加入A函数调用B函数进行字符串处理,A把字符串的地址传递给B,B在处理过程中误修改了字符串的地址,导致程序出错,有时候这种错误很难找到,这时候我们就可以使用const关键字。 可是对于指针的情况,我们...
请问以下三个定义的区别(尤其是第一个和第二个): const char *p1; char const *p2; char * const p3; 谢谢!
记得在这个论坛中,有高手很详细的谈了 const char* 转化为 char*后,赋值的结果。请有心人给个链接。
如
void foo()
{
const char* p = "aaaaaa";
char* pTemp = const_cast
全局变量const char* test = NULL; 然后在函数A中要改变它[code]void funcA() { char test2[512]; strcpy(test2, "this is a test"); test = test2; }[/code]但是,我们知道,test2是在栈上分配的,上面的代码是有问题的 如果我们在堆上分配,如下[code]void funcA() { char* test2 = (char*)malloc(512); strcpy(test2, "this is a test"); test = test2; }[/code]这样的话,需要释放test[code]if (test) free(...
LPCTSTR softs[] = {".qq",".msn"}; LPCTSTR exts[] = {".exe"}; LPCTSTR * array[] = {softs,exts}; int count = sizeof(softs) / sizeof(softs[0]); //这样可以得到softs数组的个数 count = sizeof(array[0]) / sizeof(array[0][0]); //这样就不对,请问要如何获取正确数组个数